OSSUtil.h 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. //
  2. // OSSUtil.h
  3. // oss_ios_sdk
  4. //
  5. // Created by zhouzhuo on 8/16/15.
  6. // Copyright (c) 2015 aliyun.com. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. #import "OSSFileLogger.h"
  10. #import "NSMutableDictionary+OSS.h"
  11. #import "NSMutableData+OSS_CRC.h"
  12. #import "NSDate+OSS.h"
  13. @class OSSFederationToken;
  14. @interface OSSUtil : NSObject
  15. + (NSString *)calBase64Sha1WithData:(NSString *)data withSecret:(NSString *)key;
  16. + (NSString *)calBase64WithData:(uint8_t *)data;
  17. + (NSString *)encodeURL:(NSString *)url;
  18. + (NSData *)constructHttpBodyFromPartInfos:(NSArray *)partInfos;
  19. + (NSData *)constructHttpBodyForDeleteMultipleObjects:(NSArray<NSString *> *)keys quiet:(BOOL)quiet;
  20. + (NSData *)constructHttpBodyForCreateBucketWithLocation:(NSString *)location __attribute__((deprecated("deprecated!")));
  21. + (BOOL)validateBucketName:(NSString *)bucketName;
  22. + (BOOL)validateObjectKey:(NSString *)objectKey;
  23. + (BOOL)isOssOriginBucketHost:(NSString *)host;
  24. + (NSString *)getIpByHost:(NSString *)host;
  25. + (BOOL)isNetworkDelegateState;
  26. + (NSData *)fileMD5:(NSString *)path;
  27. + (NSString *)dataMD5String:(NSData *)data;
  28. + (NSString *)fileMD5String:(NSString *)path;
  29. + (NSString *)base64Md5ForData:(NSData *)data;
  30. + (NSString *)base64Md5ForFilePath:(NSString *)filePath;
  31. + (NSString *)base64Md5ForFileURL:(NSURL *)fileURL;
  32. + (NSString *)base64ForData:(uint8_t *)input length:(int32_t)length;
  33. + (NSString *)populateSubresourceStringFromParameter:(NSDictionary *)parameters;
  34. + (NSString *)populateQueryStringFromParameter:(NSDictionary *)parameters;
  35. + (BOOL)isSubresource:(NSString *)param;
  36. + (NSString *)sign:(NSString *)content withToken:(OSSFederationToken *)token;
  37. + (NSString *)getRelativePath:(NSString *)fullPath;
  38. + (NSString *)detemineMimeTypeForFilePath:(NSString *)filePath uploadName:(NSString *)uploadName;
  39. + (BOOL)hasPhoneFreeSpace;
  40. + (NSString*)buildNetWorkConnectedMsg;
  41. + (NSString*)buildOperatorMsg;
  42. + (uint64_t)crc64ecma:(uint64_t)crc1 buffer:(void *)buffer length:(size_t)len;
  43. /**
  44. * @brief: combine crc1 and crc2
  45. */
  46. + (uint64_t)crc64ForCombineCRC1:(uint64_t)crc1 CRC2:(uint64_t)crc2 length:(size_t)len2;
  47. + (NSString *)sha1WithString:(NSString *)string;
  48. + (NSString *)sha1WithData:(NSData *)data;
  49. + (NSString *)sha1WithFilePath:(NSString *)filePath;
  50. + (NSData *)constructHttpBodyForTriggerCallback:(NSString *)callbackParams callbackVaribles:(NSString *)callbackVaribles;
  51. + (NSData *)constructHttpBodyForImagePersist:(NSString *)action toBucket:(NSString *)toBucket toObjectKey:(NSString *)toObjectKey;
  52. @end
  53. @interface NSString (OSS)
  54. - (NSString *)oss_trim;
  55. - (BOOL)oss_isNotEmpty;
  56. - (NSString *)oss_stringByAppendingPathComponentForURL:(NSString *)path;
  57. + (NSString *)oss_documentDirectory;
  58. - (NSString *)oss_urlEncodedString;
  59. @end