为了解决图片上传问题,在网上搜了一些资料,某些源码真的不敢恭维,浪费了很多时间和精力,最后还是经过各种尝试写出来了。分享一下,尽量帮大家节省时间和精力。


android端源码:

private void uploadFile(){
try {
URL url = new URL("http://127.0.0.1:8082/jobserver/app/IamgeUpload_Upload.action?fileName=image.jpg");

HttpURLConnection conn = (HttpURLConnection)url.openConnection();
conn.setDoOutput(true);
conn.setUseCaches(false);
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type","text/html");
conn.setRequestProperty("Cache-Control","no-cache");
conn.setRequestProperty("Charsert", "UTF-8");
conn.connect();
conn.setConnectTimeout(10000);
OutputStream out =conn.getOutputStream();

//获得要上传的文件
File file = new File("/sdcard/image.jpg");
DataInputStream in = new DataInputStream(new FileInputStream(file));
int bytes = 0;
byte[] buffer = new byte[1024];
while ((bytes = in.read(buffer)) != -1) {
out.write(buffer, 0, bytes);
}
in.close();
out.flush();
out.close();
conn.getInputStream();
conn.disconnect();
} catch (Exception e) {
System.out.println("上传文件出现异常!" + e);
e.printStackTrace();
}
}


struts2 服务器端:

public String Upload(){

HttpServletRequest request = ServletActionContext.getRequest();
String fileName = request.getParameter("fileName");
InputStream inputS = null;
try {
inputS = request.getInputStream();
} catch (IOException e) {
e.printStackTrace();
}
File file = new File("F:\\upload");

//如果文件夹不存在,创建文件夹
if(!file.exists()){
file.mkdirs();
}
FileOutputStream fileOS = null;
try {
fileOS= new FileOutputStream("F:\\upload\\"+fileName);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
int size = 0;
byte[] buffer = new byte[1024];
try {
while ((size = inputS.read(buffer,0,1024)) != -1) {
fileOS.write(buffer, 0, size);
}
} catch (IOException e) {
e.printStackTrace();
}
try {
fileOS.close();
} catch (IOException e) {
e.printStackTrace();
}
try {
inputS.close();
} catch (IOException e) {
e.printStackTrace();
}
return Action.NONE;
}


更多相关文章

  1. Android深入浅出系列课程--Lesson11 Android.Framework源码下载
  2. AOSP: eclipse 导入 android Settings 源码
  3. Spreadtrum_Android_8805和8810环境搭建和源码编译V1.0.1_Word文
  4. Android———从GitHub上下载源码的方法【Written By KillerLege
  5. ubuntu 12.04 下载 Android(安卓)4.4 源码
  6. Android布局文件的加载过程分析:Activity.setContentView()源码
  7. Android(安卓)Gallery3d源码学习总结(二)——绘制流程drawThumbnai
  8. android webrtc 视频流源码获取帧图像VideoFrame转bitmap 作为图
  9. Android磁盘管理-之vold源码分析(4)

随机推荐

  1. MySQL复杂where条件分析
  2. go学习笔记(一):go语言开发环境搭建
  3. spring-boot+mybatis开发实战:如何在sprin
  4. go语言学习(三):源码文件
  5. springcloud+eureka整合阿里seata-xa模式
  6. MySQL探秘(八):InnoDB的事务
  7. java设计模式之decoration模式
  8. 为什么ElasticSearch比MySQL更适合全文索
  9. python模块导入原理
  10. springcloud+eureka整合阿里seata-saga模