iOS post请求图片Base64编码上传
来源:互联网 发布:软件企业认证时间 编辑:程序博客网 时间:2024/04/30 15:26
今天遇到了图片Base64编码上传问题
在对Base64编码后的图片,进行JSON之后还要进行一次编码
代码如下
NSData *data = UIImageJPEGRepresentation(image, 0.5);
NSString *image64 = [database64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];
NSLog(@"image64:%@",image64);
NSMutableDictionary *busiParam = [NSMutableDictionarydictionary];
[busiParam setObject:image64 forKey:@"images_content"];
NSString *busiJson = nil;
if ([NSJSONSerializationisValidJSONObject:busiParam]) {
NSError *error;
NSData *userData = [NSJSONSerializationdataWithJSONObject:busiParamoptions:kNilOptionserror:&error];
busiJson = [[NSStringalloc]initWithData:userDataencoding:NSUTF8StringEncoding];
}
//编码过程
static NSString *const kAFCharactersGeneralDelimitersToEncode =@":#[]@";// does not include "?" or "/" due to RFC 3986 - Section 3.4
static NSString *const kAFCharactersSubDelimitersToEncode =@"!$&'()*+,;=";
NSMutableCharacterSet * allowedCharacterSet = [[NSCharacterSetURLQueryAllowedCharacterSet]mutableCopy];
[allowedCharacterSet removeCharactersInString:[kAFCharactersGeneralDelimitersToEncodestringByAppendingString:kAFCharactersSubDelimitersToEncode]];
busiJson = [busiJson stringByAddingPercentEncodingWithAllowedCharacters:allowedCharacterSet];
NSString *postStr = [NSStringstringWithFormat:@"busiParam=%@",busiJson];
NSLog(@"postStr:%@",postStr);
NSData *postData = [postStrdataUsingEncoding:NSUTF8StringEncoding];
- iOS post请求图片Base64编码上传
- iOS 图片base64编码 上传
- iOS POST请求,将base64编码的图片数据传输给后台,转义字符消失
- libcurl post图片 base64编码
- 采用base64编码上传图片
- base64编码图片上传不了
- 上传base64编码图片到七牛云
- java post图片,图片用base64编码
- 图片上传通过Bitmap转换成Base64编码然后当做请求参数上传
- iOS post异步请求图片上传的实现
- iOS post上传图片
- 基于base64位编码上传图片POST提交值得注意的地方
- CURL POST请求上传图片
- 第二篇 上传图片和Base64编码
- 图片压缩,Base64编码后上传服务器
- HTML5上传图片base64编码显示缩略图
- js图片转base64编码压缩上传
- 如何上传base64编码图片到七牛云
- 小远qq1611532647淘宝主图设计
- 从 Beta-Binomial 共轭到 Dirichlet-Multinomial 共轭
- 图片整理
- Web端直传实践
- 避免 EditText 弹出软键盘的处理方法
- iOS post请求图片Base64编码上传
- HTML服务器控件与Web服务器控件
- android开发步步为营之91:自定义AlertDialog
- JVM 工作原理
- view 的滑动冲突
- FMDB简单介绍
- Java 基础——构造器和方法的区别
- linux上安装使用maven
- eclipse经典快捷键