美文网首页
上传图片到OSS内存猛增的问题

上传图片到OSS内存猛增的问题

作者: 玉门山海关 | 来源:发表于2018-11-19 18:11 被阅读0次

最近在写一个项目,需要将相机拍摄的图片上传到OSS,说起来很简单,第一步将相机拍的图片通过sdwebimage下载下来,然后将图片上传到oss,不过其中遇到了内存的问题.

因为相机拍摄的图片是高清图片,多上传几次直接收到内存警告的提醒,然后APP就会崩溃,查找资料发现,上传图片到oss有两种方式.

第一种是通过是通过NSData的方式,我刚开始就是用的这种方式

NSData *data = UIImageJPEGRepresentation(image, 0.3);

 put.uploadingData= data;

 OSSTask* putTask = [clientputObject:put];

内存增高的原因就是这段代码:UIImageJPEGRepresentation(image, 0.3)

查找资料发现这种方法确实会引起内存增高

第二种是通过图片路径来上传

put.uploadingFileURL = [NSURL fileURLWithPath:url];

 OSSTask* putTask = [clientputObject:put];

把图片的路径传进去就能上传,至于怎么获取到sdwebimage下载图片的路径,我上一篇文章已经写过了;通过路径这种方式上传就不会出现内存问题.

所以,上传图片到oss的时候最好选择用图片路径上传,如果图片特别小也可以通过nsdata这种方法;OSS支持单张上传也支持多张同时上传还是很方便的.

相关文章

网友评论

      本文标题:上传图片到OSS内存猛增的问题

      本文链接:https://www.haomeiwen.com/subject/olvafqtx.html