由于公司决定用app作为显示端,本人自学android半年多几乎都是跟CSDN上的大神学习的~~
为把这份传承的精神延续下去(瞬间高大上),个人总结了一套android与服务器图片的上传下载(第一次发帖,有些代码是网上找的,有些代码是自己写的,这里只是总结下~~不喜勿喷)
一、server端
1,UploadFileServlet上传图片
package com.pic.servlet;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.json.JSONException;
import org.json.JSONObject;
/**
* Servlet implementation class UploadFileServlet
*/
public class UploadFileServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public UploadFileServlet() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.setContentType("text/html");
PrintWriter out = response.getWriter();
DiskFileItemFactory factory = new DiskFileItemFactory();
String path = "D:\\cxc\\";//上传文件的保存路径
factory.setRepository(new File(path));
factory.setSizeThreshold(1024 * 1024);
ServletFileUpload upload = new ServletFileUpload(factory);
JSONObject jobj = new JSONObject();
try {
List<FileItem> list = (List<FileItem>)upload.parseRequest(request);
for(FileItem item : list){
String name = item.getName();
String fileName = name.substring(name.lastIndexOf("\\") + 1);
InputStream is = item.getInputStream();
File f = new File(path + fileName);
FileOutputStream fos = new FileOutputStream(f);