首页 > 其他分享 >NSData转Byte数组分段上传

NSData转Byte数组分段上传

时间:2022-12-14 18:06:28浏览次数:52  
标签:count data bytes length let NSData Byte 上传

UIImage *image = [UIImage imageNamed:@"123"];
NSData *data = UIImagePNGRepresentation(image);
// 每次读取1024的长度
NSInteger readLength = 1024;
NSInteger count = data.length / readLength;

NSMutableData *mutData = [NSMutableData data];
char bytes[data.length];
for (int i = 0; i < count; i++) {
[data getBytes:bytes range:NSMakeRange(i * readLength, readLength)];
NSData *newData = [NSData dataWithBytes:bytes length:readLength];
[mutData appendData:newData];
}
// 最后剩余的部分
NSInteger res = data.length % readLength;
if (res > 0) {
[data getBytes:bytes range:NSMakeRange(data.length - res, res)];
NSData *newData = [NSData dataWithBytes:bytes length:res];
[mutData appendData:newData];
}
  
  NSLog(@"resulteData:%ld", mutData.length);



==================swift版本=======================
if let image = UIImage(named: "123"), let data = image.pngData(), data.count > 0 {
let nsdata = data as NSData
var bytes = [UInt8](repeating: 0, count: nsdata.count)
getBytes(&bytes, length: nsdata.count)

let readLength = 1024

let mutData = NSMutableData()
let count = bytes.count / readLength
for i in 0..<count {
let start = i * readLength
let values = bytes[start..<(start + readLength)]
let value = NSData(bytes: Array(values), length: values.count)
append(value as Data)
}

let reset = bytes.count % (readLength)
if reset > 0 {
let start = bytes.count - reset
let values = bytes[start..<bytes.count]
let value = NSData(bytes: Array(values), length: values.count)
append(value as Data)
}
print("mutData.count:\(mutData.count)")
}


标签:count,data,bytes,length,let,NSData,Byte,上传
From: https://blog.51cto.com/u_15285469/5937951

相关文章

  • vue el-upload 上传拖拽排序
    <template><!--省略其他配置--><el-uploadref="upload":file-list.sync="fileList"></el-upload></template><script>importSortablefrom'sortablejs......
  • flask博客项目之tinymce图片上传
     截图一张立马粘贴进来  点击发表,显示数据太长  不断撤退回到刚刚页面  删除大图,换成小图,上传方式  点击发表可以成功发表  数据库中查看,是把......
  • SSH框架之上传图片到项目文件夹下并在前端显示
    SSH框架之上传图片到项目文件夹下并在前端显示1.前端jsp页面上传代码<formaction="sendMessage.action"method="post"enctype="multipart/form-data"><label>类别</l......
  • SiteFactory支持PowerPoint上传
    ​ 如何做到ueditor批量上传word图片?1、前端引用代码<!DOCTYPE html PUBLIC "-//W3C//DTDXHTML1.0Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml......
  • javaweb之文件上传总结
    一。文件上传:是指允许客户将本地文件,上传到服务器端 常见的应用:上传照片、上传新闻图片、上传附件 文件上传编程基本步骤: 1、在用户页面中添加上传输入项(客户端页......
  • SiteFactory支持Word一键上传
    ​图片的复制无非有两种方法,一种是图片直接上传到服务器,另外一种转换成二进制流的base64码目前限chrome浏览器使用首先以um-editor的二进制流保存为例:打开umeditor.js,......
  • 上传小程序提示主包超过2M限制
     出现这种提示的时候,优先考虑从以下两个部分修改:1、查看微信开发者工具——详情——本地设置下面的自动压缩文件勾上  2、hbuilderX编辑器里点击运行——运行到小......
  • SiteFactory支持Word上传
    ​ 在之前在工作中遇到在富文本编辑器中粘贴图片不能展示的问题,于是各种网上扒拉,终于找到解决方案,在这里感谢一下知乎中众大神以及TheViper。通过知乎提供的思路找到粘......
  • ajax通过FormData上传图片
    前端: 后端: ......
  • Django视图层/FBV与CBV/jsonResponse对象/form表单上传文件/request对象获取文件
    目录虚拟环境视图层views三板斧jsonResponse对象form如何上传文件/request对象获取文件request对象方法FBV与CBVCBV源码解析虚拟环境每创建一个虚拟环境类似于重新下载了......