解决思路:

方法一:将图片Base64编码成字符串提交到服务器,然后服务器将提交过来的Base64编码字符串解码成图片。

方法二:采用表单方式提交图片,主要使用FileReader和FormData类

方案一:

图片压缩base64编码成字符串:

/*压缩图片并将图片转换成base64,以便ajax提交数据 path:图片的路径*/  function toBase64Image(path){var img = new Image();img.src = path;img.onload = function(){var that = this;//生成比例 var w = that.width,h = that.height,scale = w / h; w = 720 || w;              //720  你想压缩到多大,改这里h = w / scale;//console.log("w:"+w +" h:"+h); // 生成canvasvar canvas = document.createElement('canvas');var ctx = canvas.getContext('2d');$(canvas).attr({width : w, height : h});ctx.drawImage(that, 0, 0, w, h);var base64Picture = canvas.toDataURL('image/png', 1 || 0.8 );console.log("图片的base64:"+base64Picture);}} 

demo 截图

拍照|选择图片上传demo 源码

上传图片保存图片保存图片

formData保存图片

  • 拍照
  • 相册选取
  • 取消

服务器端接收客户端上传的图片base64编码:

@RequestMapping(value = "uploadData", method = {RequestMethod.POST}, produces = { "application/json;charset=UTF-8" })@ResponseBodypublic String uploadData(HttpServletRequest request) throws Exception {String url = ParamConst.QUERY_ASSET_CARD;String base64Image  = request.getParameter("base64Image"); //图base64编码字符串String pictureName  = request.getParameter("pictureName");String base64img = base64Image.substring(22, base64Image.length());//去掉base64前面22个字符 data:image/png;base64,是固定值 logger.info("图片的名称:"+pictureName);logger.info(base64img);//保存图片路径String savePath = request.getRealPath("/")+"resources\\platform\\images\\";String filePath = savePath ;logger.info(" 图片保存路径:"+ savePath);//保存图片Base64Image.GenerateImage(base64img, savePath, pictureName);............}
}   

Base64编码解码类:将指定的图片base64编码成字符串,将base64编码字符解码生成图片

empty

方案二:

客户端截图:

服务器端servlet代码:

app客户端上传图片实现方式相关推荐

  1. uni-app接入阿里云认证SDK(号码认证服务),App客户端一键登方式

    uni-app接入阿里云认证SDK(号码认证服务)App客户端一键登方式 首先,你需要了解和开通阿里云的号码认证服务,地址:https://help.aliyun.com/product/75010. ...

  2. 关于已上架APP下架的正确方式

    呜呼,就在刚刚把自己亲手写的app从appstore下架了,心情低落,这种感觉就像把自己的孩子弄丢了一样.没办法,产品经理一句话,说下就得下啊,因为他给客户吹出去牛逼了,现在产品却不能达到预期,再者我 ...

  3. android iOS App客户端如何实现在线支付

    *android iOS App客户端如何实现在线支付**Q~~1⑨9⑦O*⑦46 阔别已久,小课堂再次开课,今天将和大家分享在开通各个支付渠道之前,你可能想要了解的一些信息. 对支付领域一无所知,对 ...

  4. 文件服务器如何鉴权,服务器客户端鉴权方式

    服务器客户端鉴权方式 内容精选 换一换 华为云会议提供了服务端API开放和客户端SDK开放,开发者基于自己的应用场景可以灵活地集成华为云会议的开放性接口.本文介绍了几个基于华为云会议集成的最佳实践,帮 ...

  5. APP客户端性能专项测试手册

    APP客户端性能专项测试手册 一.前言 1.1文档目的 通过对本文档的学习,对APP客户端性能专项测试的理论知识,测试工具,测试方法,缺陷分析思路等能有一定程度的了解,并能快速投入到专项测试工作中去. ...

  6. App 请求校验/加密方式总结

    为什么80%的码农都做不了架构师?>>>    最近对几款App(橙光, 闪艺),微信小程序(链家,汽车之家,)进行破解,学习了请求的 加签.验签/加密.解密方式,特做总结. 常见的 ...

  7. 懂商业的技术合伙人(14):使用HTML5开发App客户端,HTML5+和MUI框架基本介绍

    我非常倾向使用HTML5,搞定PC Web.Mobile Web.Android和iOS.微信小程序等各种UI开发. 作为技术人员,一次学习,处处使用,是个美好的愿望. 本文把2014~2017年,零 ...

  8. 通过客户端编程的方式调用webservice

    通过客户端编程的方式调用webservice其实与通过jdk调用webservice的方式其实是一样的.在4种调用webservice的方式中推荐使用 通过jdk来调用webservice的那一种方式 ...

  9. Java 实现 SSH 协议的客户端登录认证方式

    摘自:http://blog.sae.sina.com.cn/archives/333/comment-page-1#comment-37391 简介: 本文首先对 SSH 协议的基础知识作以介绍,然 ...

  10. 解决android客户端上传图片到服务端时,图片损坏的问题

    解决android客户端上传图片到服务端时,图片损坏的问题 参考文章: (1)解决android客户端上传图片到服务端时,图片损坏的问题 (2)https://www.cnblogs.com/cnbl ...

最新文章

  1. 葫芦岛天气预报软件测试,[软件工具][软件游戏]IM智能机器人小强--给你生活带来方便和快乐!(转载)...
  2. Android开发过程中内存泄露检测
  3. jQuery对象插件封装步骤
  4. 脚本启动Tomcat
  5. h3c 路由器 刷第三方固件_图文版*许迎果 第201期 双11路由器型号推荐之刷机路由篇...
  6. 【转】Dynamics CRM 365零基础入门学习(四)Dynamics 使用profiler插件调试流程
  7. 并发-分布式锁质量保障总结
  8. hdu 4315 Climbing the Hill 博弈问题,可转化为nim游戏问题,多校联合赛(二)第六题
  9. C#自动属性及属性的简写形式
  10. android nef转jpg格式文件,nef格式转换成jpg
  11. loadlibrary函数失败,错误码:126
  12. ios 清理缓存功能实现
  13. 腾达路由器连接移动路由器,做WIFI信号延申
  14. RSA host key for xxx has changed and you have requested strict checking.
  15. 关于windows Server2008 R2 操作系统无法修改Internet时间问题
  16. 【练习赛】2022年高教杯数学建模C题(第一题的第二小问)
  17. seewo一键投屏在mac电脑上的使用方法
  18. 使用vector创建一个二维数组(一)
  19. python的写操作_Python—文件读写操作
  20. 2009经典语录,雷死人不要钱

热门文章

  1. 简易数字时钟 按键可校准
  2. .Net FW上线报错:The OwinStartup attribute discovered in assembly ‘AppName‘.
  3. autosar-Layered Software Architecture
  4. 服务器2003系统安装时蓝屏,安装2003server操作系统蓝屏是怎么回事?
  5. 年龄和血压对照表,有必要了解!
  6. 打开ps显示计算机内存不足怎么办,ps显示内存不足怎么办,教你ps显示内存不足怎么办...
  7. 163个人邮箱你了解多少?如何注册下载163邮箱呢?
  8. 基于 IPO 经济理论模型对目前 ICO 的理论研究和分析
  9. 什么是CDN,网站被攻击时该怎么防
  10. mongoDB 文档删除