一、明日计划
将项目与团队进行整合,进行完整的数据库设计
二、今日成果
上面是成功通过App上传到云服务器的文件
部分代码
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
package Servlet; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; import java.util.UUID; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; 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.apache.commons.io.IOUtils; public class DServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { boolean isMultipart = ServletFileUpload.isMultipartContent(request); if (isMultipart) {// 判断提交上来的数据是否是表单的数据 //得到上传文件的保存目录,将上传的文件存放于WEB-INF目录下,不允许外界直接访问,保证上传文件的安全 String savePath = this.getServletContext().getRealPath("/Book"); File file = new File(savePath); //判断上传文件的保存目录是否存在 if (!file.exists() && !file.isDirectory()) { System.out.println(savePath+"目录不存在,需要创建"); //创建目录 file.mkdir(); } DiskFileItemFactory factory = new DiskFileItemFactory();// 1、创建一个DiskFileItemFactory工厂 ServletFileUpload upload = new ServletFileUpload(factory);// 2、创建一个文件上传解析器 upload.setHeaderEncoding("utf-8");//编码方式 try { // 4、使用ServletFileUpload解析器解析上传的数据,解析结果是一个List<FileItem> // 集合,每一个FileItem对应一个Form表单的输入项 List<FileItem> items = upload.parseRequest(request); for (FileItem item : items) { if (item.isFormField()) {//如果是文本 String name = item.getFieldName(); String value = item.getString("utf-8");//以utf-8进行编码 System.out.println(name); } else {// 如果是文件 String filename = item.getName(); System.out.println("filename=" + filename); if (null == filename || "".equals(filename.trim())) { continue; } filename = filename.substring(filename .lastIndexOf("/") + 1);//将文件名剪出 InputStream is = item.getInputStream();//得到上传的输入流 FileOutputStream out = new FileOutputStream(savePath + "/" + filename);//创建写入磁盘的输出流 byte[] b = new byte[1024 * 1024];//缓冲区 int len = 0; while ((len = is.read(b)) != -1) { out.write(b, 0, len); out.flush(); } is.close(); out.close(); item.delete(); // 处理文件上传时生成的临时文件 } } } catch (Exception e) { e.printStackTrace(); } } } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); } }