大概思路就是用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();