説明なし

RNFetchBlobFS.h 3.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. //
  2. // RNFetchBlobFS.h
  3. // RNFetchBlob
  4. //
  5. // Created by Ben Hsieh on 2016/6/6.
  6. // Copyright © 2016年 suzuri04x2. All rights reserved.
  7. //
  8. #ifndef RNFetchBlobFS_h
  9. #define RNFetchBlobFS_h
  10. #import <Foundation/Foundation.h>
  11. #import "RCTBridgeModule.h"
  12. @import AssetsLibrary;
  13. @interface RNFetchBlobFS : NSObject <NSStreamDelegate> {
  14. NSOutputStream * outStream;
  15. NSInputStream * inStream;
  16. RCTResponseSenderBlock callback;
  17. RCTBridge * bridge;
  18. Boolean isOpen;
  19. NSString * encoding;
  20. int bufferSize;
  21. BOOL appendData;
  22. NSString * taskId;
  23. NSString * path;
  24. NSString * streamId;
  25. }
  26. @property (nonatomic) NSOutputStream * outStream;
  27. @property (nonatomic) NSInputStream * inStream;
  28. @property (strong, nonatomic) RCTResponseSenderBlock callback;
  29. @property (nonatomic) RCTBridge * bridge;
  30. @property (nonatomic) NSString * encoding;
  31. @property (nonatomic) NSString * taskId;
  32. @property (nonatomic) NSString * path;
  33. @property (nonatomic) int bufferSize;
  34. @property (nonatomic) NSString * streamId;
  35. @property (nonatomic) BOOL appendData;
  36. // get dirs
  37. + (NSString *) getTempPath;
  38. + (NSString *) getCacheDir;
  39. + (NSString *) getDocumentDir;
  40. + (NSString *) getTempPath:(NSString*)taskId withExtension:(NSString *)ext;
  41. + (NSString *) getPathOfAsset:(NSString *)assetURI;
  42. + (void) getPathFromUri:(NSString *)uri completionHandler:(void(^)(NSString * path, ALAssetRepresentation *asset)) onComplete;
  43. // fs methods
  44. + (RNFetchBlobFS *) getFileStreams;
  45. + (BOOL) mkdir:(NSString *) path;
  46. + (NSDictionary *) stat:(NSString *) path error:(NSError **) error;
  47. + (BOOL) exists:(NSString *) path;
  48. + (void) writeFileArray:(NSString *)path data:(NSArray *)data append:(BOOL)append resolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject;
  49. + (void) writeFile:(NSString *)path encoding:(NSString *)encoding data:(NSString *)data append:(BOOL)append resolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject;
  50. + (void) readFile:(NSString *)path encoding:(NSString *)encoding resolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject onComplete:(void (^)(NSData * content))onComplete;
  51. + (void) readAssetFile:(NSData *)assetUrl completionBlock:(void(^)(NSData * content))completionBlock failBlock:(void(^)(NSError * err))failBlock;
  52. + (void)slice:(NSString *)path
  53. dest:(NSString *)dest
  54. start:(nonnull NSNumber *)start
  55. end:(nonnull NSNumber *)end
  56. encode:(NSString *)encode
  57. resolver:(RCTPromiseResolveBlock)resolve
  58. rejecter:(RCTPromiseRejectBlock)reject;
  59. //+ (void) writeFileFromFile:(NSString *)src toFile:(NSString *)dest append:(BOOL)append;
  60. // constructor
  61. - (id) init;
  62. - (id)initWithCallback:(RCTResponseSenderBlock)callback;
  63. - (id)initWithBridgeRef:(RCTBridge *)bridgeRef;
  64. // file stream
  65. - (void) openWithDestination;
  66. - (NSString *)openWithPath:(NSString *)destPath encode:(nullable NSString *)encode appendData:(BOOL)append;
  67. - (void) startAssetReadStream:(NSData *)assetUrl;
  68. // file stream write data
  69. - (void)write:(NSData *) chunk;
  70. - (void)writeEncodeChunk:(NSString *) chunk;
  71. - (void)readWithPath:(NSString *)path useEncoding:(NSString *)encoding bufferSize:(int) bufferSize;
  72. - (void) closeInStream;
  73. - (void) closeOutStream;
  74. - (void) openFile:( NSString * _Nonnull ) uri;
  75. @end
  76. #endif /* RNFetchBlobFS_h */