大概思路就是用base64编码把二进制图片转出字符串,通过简单的post请求发送到服务器,服务器端再反转成图片即可。
首先把图片转为base64编码:
//myPhotoImageV是我的图片控件,也可以从文件获取图片内容
let imgData=UIImagePNGRepresentation(myPhotoImageV.image!)
//图片转字符串
let base64String:String = imgData.base64EncodedStringWithOptions(.Encoding64CharacterLineLength )
//把图片字符串像普通文本参数一样发送到服务器就行了
图片变成字符串以后就是这样:
服务器端接收(tomcat+java):
String img=request.getParameter("参数名")
BASE64Decoder d = new BASE64Decoder();
//字符串转图片二进制
byte[] bs = d.decodeBuffer(img);
//保存文件到磁盘,也可以存到数据库
FileOutputStream fos = new FileOutputStream("c:/123.png");
fos.write(bs);
fos.flush();
fos.close();