説明なし

RNFetchBlobFS.h 3.1KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  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 dest:(NSString *)dest start:(NSNumber *)start end:(NSNumber *)end encode:(NSString *)encode resolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject;
  53. //+ (void) writeFileFromFile:(NSString *)src toFile:(NSString *)dest append:(BOOL)append;
  54. // constructor
  55. - (id) init;
  56. - (id)initWithCallback:(RCTResponseSenderBlock)callback;
  57. - (id)initWithBridgeRef:(RCTBridge *)bridgeRef;
  58. // file stream
  59. - (void) openWithDestination;
  60. - (NSString *)openWithPath:(NSString *)destPath encode:(nullable NSString *)encode appendData:(BOOL)append;
  61. - (void) startAssetReadStream:(NSData *)assetUrl;
  62. // file stream write data
  63. - (void)write:(NSData *) chunk;
  64. - (void)writeEncodeChunk:(NSString *) chunk;
  65. - (void)readWithPath:(NSString *)path useEncoding:(NSString *)encoding bufferSize:(int) bufferSize;
  66. - (void) closeInStream;
  67. - (void) closeOutStream;
  68. @end
  69. #endif /* RNFetchBlobFS_h */