我们开发中常用到图片上传,比如头像上传之类的,还有类似发布空间说说时发布多张图片等等,我在这里通过借鉴网络资源,并依赖于七牛云存储做了一个图片上传的小结。
我首先封装了一个图片上传的工具类,继承自nsobject,命名为QiniuTool;再多图上传时,还需要单张图片的上传结果处理,因此,我在这里有多创建了一个辅助工具类,命名为QiniuUploadHelper;
工具类类方法:
#import <Foundation/Foundation.h> //上传 视频 、n 张图片 #import <QiniuSDK.h> #import <UIKit/UIKit.h> typedef enum { type_image, type_video }LoadType; @interface QiniuTool : NSObject //获取七牛上传token + (void)getQiniuUploadToken:(LoadType)type loadUrl:(NSString *)tokenUrl result:(void(^)(NSDictionary *token))success failure:(void(^)())failure; /** 上传视频 @param videoPathUrl 视频的本地URL路径 */ //+ (void)uploadVedio:(NSURL *)videoPathUrl success:(void(^)(NSMutableDictionary *result))success failure:(void(^)())failure; /** 上传单张图片 @param image 图片 @param progress 上传进度 @param success 成功回调 @param failure 失败回调 */ + (void)uploadImage:(UIImage*)image loadUrl:(NSString *)tokenUrl progress:(QNUpProgressHandler)progress success:(void(^)(NSString*url))success failure:(void(^)())failure; //上传多张图片,按队列依次上传 + (void)uploadImages:(NSArray*)imageArray loadUrl:(NSString *)tokenUrl progress:(void(^)(CGFloat))progress success:(void(^)(NSArray*urlArray))success failure:(void(^)())failure; @end