ios java 图片上传到服务器,iOS 图片上传服务器
最近搞图片上传,折腾了一个星期终于做出来了,网上搜出来的方法几乎都是好几年前的,试了好多都不能用,此次把代码公布出来供大家参考。
注:部分代码是后台写的,此方法没用到第三方库。
1.图片保存到本地同时上传服务器
(void)saveImage:(UIImage *)image {
//NSLog(@“保存头像!”);
//[userPhotoButton setImage:image forState:UIControlStateNormal];
BOOL success;
NSFileManager *fileManager = [NSFileManager defaultManager];
NSError *error;
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *imageFilePath = [documentsDirectory stringByAppendingPathComponent:@“selfPhoto.jpg”];
NSLog(@“imageFile->>%@”,imageFilePath);
success = [fileManager fileExistsAtPath:imageFilePath];
if(success) {
success = [fileManager removeItemAtPath:imageFilePath error:&error];
}
//UIImagesmallImage=[self scaleFromImage:image toSize:CGSizeMake(80.0f, 80.0f)];//将图片尺寸改为8080
UIImage *smallImage = [self thumbnailWithImageWithoutScale:image size:CGSizeMake(93, 93)];
[UIImageJPEGRepresentation(smallImage, 1.0f) writeToFile:imageFilePath atomically:YES];//写入文件
UIImage *selfPhoto = [UIImage imageWithContentsOfFile:imageFilePath];//读取图片文件
self.img.image = selfPhoto;
NSLog(@“selfPhoto = %@”,selfPhoto);
NSURL * url = [NSURL URLWithString:@"http://blog.sina.com.cn/tmyij"];
NSData *imageData = UIImageJPEGRepresentation(selfPhoto,1.0f);
[self uploadFileWithURL:url data:imageData];
}
2.下面俩个方法都是设置请求参数
static NSString *boundaryStr = @"–";
static NSStringrandomIDStr = @"****";
static NSString *uploadID = @“file”;
(NSString *)topStringWithMimeType:(NSString *)mimeType uploadFile:(NSString *)uploadFile
{
NSMutableString *strM = [NSMutableString string];
[strM appendFormat:@"%@%@\r\n", boundaryStr, randomIDStr];
[strM appendFormat:@“Content-Disposition: form-data; name=”%@"; filename="%@"\r\n", uploadID, uploadFile];
[strM appendFormat:@“Content-Type: %@\r\n”, mimeType];
[strM appendFormat:@"\r\n"];
NSLog(@"%@", strM);
return [strM copy];
}
(NSString *)bottomString
{
NSMutableString *strM = [NSMutableString string];
[strM appendFormat:@"%@%@\r\n", boundaryStr, randomIDStr];
[strM appendString:@“Content-Disposition:form-data; name=“number”\r\n”];
[strM appendFormat:@"\r\n"];
[strM appendString:@“1234566788”];//上传的参数parameter
[strM appendFormat:@"\r\n"];
NSLog(@"%@", strM);
return [strM copy];
}
3.图片上传服务器
(void)uploadFileWithURL:(NSURL *)url data:(NSData *)data
{
NSString *topStr = [self topStringWithMimeType:@“application/img” uploadFile:@“myHead.jpg”];
NSString *bottomStr = [self bottomString];
NSMutableData *dataM = [NSMutableData data];
[dataM appendData:[bottomStr dataUsingEncoding:NSUTF8StringEncoding]];
[dataM appendData:[topStr dataUsingEncoding:NSUTF8StringEncoding]];
[dataM appendData:data];
[dataM appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
NSString * s = [NSString stringWithFormat:@"%@%@%@\r\n",boundaryStr, randomIDStr, boundaryStr];
[dataM appendData:[str22 dataUsingEncoding:NSUTF8StringEncoding]];
NSLog(@"%@%@%@",topStr,data,bottomStr);
// 1. Request
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url cachePolicy:0 timeoutInterval:20.0f];
request.HTTPBody = dataM;
request.HTTPMethod = @“POST”;
NSString *strLength = [NSString stringWithFormat:@"%ld", (long)dataM.length];
[request setValue:strLength forHTTPHeaderField:@“Content-Length”];
NSString *strContentType = [NSString stringWithFormat:@“multipart/form-data;boundary=%@”, randomIDStr];
[request setValue:strContentType forHTTPHeaderField:@“Content-Type”];
[NSURLConnection sendAsynchronousRequest:request
queue:[[NSOperationQueue alloc] init] completionHandler:^(NSURLResponse
*response, NSData *data, NSError *connectionError) {
NSString *result = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"%@", result);
}];
}
ios java 图片上传到服务器,iOS 图片上传服务器相关推荐
- ios 拍照上传到服务器_ios端浏览器拍照上传到服务器,图片被旋转90度 php 解决方案...
1.可以通过前端进行解决,本案例通过后端解决的 判断请求的浏览器的ua,如果是ios浏览器则进行90度旋转 重点来了: 必须确保检测的图片是ios设备上传的完整图片,不要在前端压缩过的,因为压缩后的图 ...
- ios如何上传文件到服务器,ios通过ftp上传文件到服务器
ios通过ftp上传文件到服务器 内容精选 换一换 华为云帮助中心,为用户提供产品简介.价格说明.购买指南.用户指南.API参考.最佳实践.常见问题.视频帮助等技术文档,帮助您快速上手使用华为云服务. ...
- java 图片服务器 上传_Java实现把图片上传到图片服务器(nginx+vsftp)
前言: 在我另一篇笔记中已经记载了如何用nginx + vsftp搭建图片服务器(请参考nginx + vsftp搭建图片服务器),并且用vsftp的客户端工具filezilla测试过已经可用.但是在 ...
- 微信JSSDK多图片上传并且解决IOS系统上传一直加载的问题
微信JSSDK多图片上传并且解决IOS系统上传一直加载的问题 参考文章: (1)微信JSSDK多图片上传并且解决IOS系统上传一直加载的问题 (2)https://www.cnblogs.com/co ...
- JS 图片压缩上传并在iOS中矫正方向
JS 图片压缩上传并在iOS中矫正方向 最近在项目中,用到图片上传.如果不进行压缩再上传的话,动辄34兆的图片,上传起来会相当漫长.还有一点就是,在iOS中所拍摄的图片在本地显示是没有问题的,但是上传 ...
- 微信开发h5图片上传(拍照、图片压缩、IOS照片旋转)
微信开发h5图片上传 开发环境 vue.js,原生h5 input file, 微信公众号网页 依赖安装 exif-js:IOS下拍照照片的方向有问题, 需要exif-js来读取照片信息进行旋转处理: ...
- java图片如何上传_Java如何将图片上传到服务器
Java如何将图片上传到服务器 发布时间:2020-11-10 17:28:18 来源:亿速云 阅读:96 作者:Leah 这篇文章将为大家详细讲解有关Java如何将图片上传到服务器,文章内容质量较高 ...
- java 上传文件并读取_Java实现图片上传到服务器并把上传的图片读取出来
在很多的网站都可以实现上传头像,可以选择自己喜欢的图片做头像,从本地上传,下次登录时可以直接显示出已经上传的头像,那么这个是如何实现的呢? 下面说一下我的实现过程(只是个人实现思路,实际网站怎么实现的 ...
- iOS:图片上传时两种图片压缩方式的比较
上传图片不全面的想法:把图片保存到本地,然后把图片的路径上传到服务器,最后又由服务器把路径返回,这种方式不具有扩展性,如果用户换了手机,那么新手机的沙盒中就没有服务器返回的图片路径了,此时就无法获取之 ...
- TFTP服务器在Cisco设备上的应用(上传、下载IOS)
网络拓扑图 基于对安全的考虑,Cisco总是默认关闭TELNET服务,并且只有配置了远程登陆密码才能使用.同时还要配置使能密码,负责不能进入特权模式. 实验一:通过TFTP服务器从Cisco路由器上下 ...
最新文章
- 布巴内斯瓦尔成智慧城市 印小城何以“智慧”
- 《用Python进行自然语言处理》第 11 章 语言数据管理
- 2008年北大核心有效期 计算机类核心(2011-01-31 15:02:46)
- 什么是爱?[转载朋友发给我的信息]
- Python3 数据结构:列表List中的方法
- 【CCF】201803-1 跳一跳
- 项目管理笔记(观念)
- 【自我救赎--牛客网Top101 4天刷题计划】 第一天 热身运动
- 2.Kong入门与实战 基于Nginx和OpenResty的云原生微服务网关 --- Kong 的安装和基本概念
- 新坑:基于AD9361的手持监测侦察接收机
- Thinkphp精仿韩都衣舍商城网站源码
- udp测试工具linux系统,网络测试工具下载_Packet Sender(UDP/TCP网络测试工具)
- 群晖218J搭建VLMCSD
- vue中自己实现的页面切换标签手动关闭功能
- Linux导出Excel图片水印中文乱码解决
- Linux文件IO操作
- 【MATLAB第3期】源码分享#数学建模常用算法程序整理
- vue组件传参(父传子)
- 漫画:什么是大数据?
- Python快速复制粘贴ins数据,采集网站内视频内容