File tree Expand file tree Collapse file tree 1 file changed +16
-0
lines changed Expand file tree Collapse file tree 1 file changed +16
-0
lines changed Original file line number Diff line number Diff line change @@ -130,6 +130,8 @@ export default class Blob extends EventTarget {
130130 // Blob data from file path
131131 else if ( typeof data === 'string' && data . startsWith ( 'RNFetchBlob-file://' ) ) {
132132 log . verbose ( 'create Blob cache file from file path' , data )
133+ // set this flag so that we know this blob is a wrapper of an existing file
134+ this . _isReference = true
133135 this . _ref = String ( data ) . replace ( 'RNFetchBlob-file://' , '' )
134136 let orgPath = this . _ref
135137 if ( defer )
@@ -282,6 +284,20 @@ export default class Blob extends EventTarget {
282284 } )
283285 }
284286
287+ safeClose ( ) {
288+ if ( this . _closed )
289+ return Promise . reject ( 'Blob has been released.)
290+ this . _closed = true
291+ if ( ! this . _isReference ) {
292+ return fs . unlink ( this . _ref ) . catch ( ( err ) => {
293+ console . warn ( err )
294+ } )
295+ }
296+ else {
297+ return Promise . resolve ( )
298+ }
299+ }
300+
285301 _invokeOnCreateEvent ( ) {
286302 log . verbose ( 'invoke create event' , this . _onCreated )
287303 this . _blobCreated = true
You can’t perform that action at this time.
0 commit comments