Android上传图片,这里我使用了如今比較流行的XUtils框架。该框架能够实现文件上传、文件下载、图片缓存等等,有待研究。

以下是Android端上传的代码:

xUtils.jar下载

String uploadHost="http://192.168.1.100:8080/ReceiveImgFromAndroid/ReceiveImgServlet";  //server接收地址
RequestParams params=new RequestParams();
params.addBodyParameter("msg","上传图片");
params.addBodyParameter("img1", new File(filePath));  //filePath是手机获取的图片地址
sendImgToServer(params,uploadPath);

这是Xutils框架中上传文件的方法:

public  void uploadMethod(final RequestParams params,final String uploadHost) {http.send(HttpRequest.HttpMethod.POST, uploadHost, params,new RequestCallBack<String>() {@Overridepublic void onStart() {//上传開始}@Overridepublic void onLoading(long total, long current,boolean isUploading) {//上传中}@Overridepublic void onSuccess(ResponseInfo<String> responseInfo) {//上传成功,这里面的返回值,就是server返回的数据//使用 String result = responseInfo.result 获取返回值}@Overridepublic void onFailure(HttpException error, String msg) {//上传失败}});
}

上面写完了手机端提交照片。接下来要写一个server端。

server端接收手机端上传照片的方法与接收jsp界面上传照片的方法同样。是用了jspsmartupload_zh.jar包文件。最简单的方式自己实现一个servlet,在里面调用SmartUpload类接收即可。这个还须要处理好接收文字的乱码问题。

以下是详细的代码:

SmartUpload.jar下载    server測试源代码下载

package com.example.servlet;import java.io.IOException;
import java.text.SimpleDateFormat;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import com.jspsmart.upload.SmartUpload;
import com.jspsmart.upload.SmartUploadException;/*** 接收图片* * @author Administrator* @time 2015年8月10日09:27:17*/public class ReceiveImgServlet extends HttpServlet {/*** */private static final long serialVersionUID = 1L;public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doPost(request, response);}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType("text/html");response.setCharacterEncoding("utf-8");request.setCharacterEncoding("utf-8");SmartUpload smartUpload = new SmartUpload();try {smartUpload.initialize(this.getServletConfig(), request, response);smartUpload.upload();String msg = smartUpload.getRequest().getParameter("msg");if (msg != null)msg = new String(msg.getBytes("GBK"), "utf-8");com.jspsmart.upload.Files files = smartUpload.getFiles();for (int i = 0; i < files.getCount(); i++) {com.jspsmart.upload.File file = files.getFile(i);if (!file.isMissing()) {SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");String name = sdf.format(new java.util.Date());name = name + "." + file.getFileExt();// 得到文件的扩展名String filename = this.getServletContext().getRealPath("/")+ "images\\" + name;file.saveAs(filename);}}} catch (SmartUploadException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (Exception e) {// TODO: handle exceptione.printStackTrace();}}}

Android使用XUtils框架上传照片(一张或多张)和文本,server接收照片和文字(无乱码)...相关推荐

  1. android+nutz后台如何上传和下载图片

    android+nutz后台如何上传和下载图片 发布于 588天前  作者 yummy222  428 次浏览  复制  上一个帖子  下一个帖子  标签: 无 最近在做一个基于android的app ...

  2. Android开发文件上传格式,(android开发)使用okhttp上传文件

    开发android手机客户端,常常会需要上传文件到服务器,比如:你手机里的照片. 使用okhttp会是一个很好的选择.它使用很简单,而且运行效率也很高. 首先,在 app/build.gradle 的 ...

  3. ios15之把自己编写的框架上传到CocoaPods里面

    ios15之把自己编写的框架上传到CocoaPods里面 最近有个需求,把自己的写的框架上传到CocoaPods里面.使用 pod 安装到本地项目里面. 首先github新建一个仓库名,协议MIT,公 ...

  4. android 与后台实时视频,android选择视频文件上传到后台服务器

    本文实例为大家分享了android选择视频文件上传到后台服务器的具体代码,供大家参考,具体内容如下 选择本地视频文件 首先第一步打开打开相册选择视频文件: Intent intent = new In ...

  5. Centos配置Jenkins实现Android自动打包并上传到蒲公英

    本篇文章来自 徐永红  的投稿,给大家讲解Centos配置Jenkins实现Android自动打包并上传到蒲公英,希望对大家有所帮助. 徐永红 的博客地址: https://xuyonghong.cn ...

  6. Android + https 实现 文件上传

    Android 应用中,如何使用https 实现 文件上传功能. package com.example.wbdream.zigvine;import android.annotation.Suppr ...

  7. Android Studio项目如何上传至JCenter

    Android studio Library项目上传至JCenter 配置Project目录下build.gradle dependencies {classpath 'com.jfrog.bintr ...

  8. Android(安卓)上传文件到阿里云点播,阿里云点播转码

    Android(安卓)上传文件到阿里云点播,阿里云点播转码 文章目录 Android(安卓)上传文件到阿里云点播,阿里云点播转码 一:登录阿里云点播平台配置添加转码模板组 1:需要什么参数,可自行填写 ...

  9. 多人上传文件公共网盘_上传网盘的信息也会泄露?个人隐私照片被多人传看,太过分了...

    原标题:上传网盘的信息也会泄露?个人隐私照片被多人传看,太过分了 关于百度网盘泄露隐私的事件已经不是第一次了,2017年就曾发生过一次非常严重的隐私泄露事件.在那次泄露的事件中,大量私人信息,包括身份 ...

最新文章

  1. python添加lxml库_7分钟,建议看完这5个Python库对比丨web抓取
  2. c++ builder 读取指定单个名称节点的值
  3. appium-java长按学习
  4. R语言实战应用精讲50篇(十三)-如何使用JAVA调用R语言,两种语言的完美结合
  5. 1.14 sort()数组排序(升序和降序)
  6. php 复选框组,php – 选择所有复选框
  7. java url 传值乱码问题_java页面url传值中文乱码怎么办
  8. react 渲染道具_在React中学习分解道具的基础
  9. 《Go语言程序设计》读书笔记(七)基于共享变量的并发
  10. verilog中的initial块、always块详细解释
  11. CWE ID 259:Use of Hard-coded Password
  12. excel宏 批量生成返回目录
  13. jQuery漂浮横幅图片广告代码
  14. chrome 灵魂插件
  15. 使用Xshell远程连接CentOS7全过程,包括遇到的各种问题集合及解决方案
  16. myeclipse安装pydev实现python开发
  17. Java 8 中 GZIPInputStream 类源码分析
  18. PDF文件编辑工具 V9.0.01
  19. android 错误记录Attempt to invoke virtual method ‘void android.view.View.setVisibility(int)‘
  20. Office LTSC 专业增强版 2021 显示“你的许可证并非XX”横幅解决方法(亲测有效,2016专业增强版同样适用,其他版本自行测试)

热门文章

  1. 设计模式之模板模式学习笔记
  2. 极光推送收不到推送消息
  3. sklearn pipeline_我的sklearn学习经验
  4. 建博客的原因。。。。
  5. 剑指offer python版 找出数组中重复的数字
  6. Git 中.gitignore 使用和.gitignore 无效的解决方法
  7. Nginx负载均衡:分布式/热备Web Server的搭建
  8. href 里面 链接前面加/与不加的区别?(绝对路径与相对路径)
  9. 练习一下linux中的list函数。
  10. Android Studio开发RecyclerView遇到的各种问题以及解决(一)