Extjs4上传文件,如果用谷歌浏览器,它会给文件一个默认的上传路径,而把真实路径隐藏起来了。如何设置啊、?
4条回答
- FangXingXing007 2012-10-08 14:15关注
后台Java[code="java"]package controller;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.util.Iterator;
import java.util.List;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;import org.apache.commons.fileupload.DiskFileUpload;
import org.apache.commons.fileupload.FileItem;public class upload extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request, response); } @SuppressWarnings("deprecation") public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String hello = request.getParameter("savePath"); String nttame = request.getParameter("name"); HttpSession session = request.getSession();//通过session传参 System.out.println("接收参数,hello="+hello+",name="+nttame); String name=""; try { DiskFileUpload fu = new DiskFileUpload(); // 设置允许用户上传文件大小,单位:字节,这里设为2m fu.setSizeMax(5 * 1024 * 1024 * 1024); // 设置最多只允许在内存中存储的数据,单位:字节 fu.setSizeThreshold(10 * 1024 * 1024); // 设置一旦文件大小超过getSizeThreshold()的值时数据存放在硬盘的目录 fu.setRepositoryPath(System.getProperty("java.io.tmpdir")); fu.setHeaderEncoding("UTF-8");//解决中文文件名乱码。 // 开始读取上传信息 List fileItems = fu.parseRequest(request); // 依次处理每个上传的文件 Iterator iter = fileItems.iterator(); System.out.println(fileItems.size()); while (iter.hasNext()) { FileItem item = (FileItem) iter.next(); if (item.isFormField()) {//表单域的值 System.out.println("表单域名" + item.getFieldName()); System.out.println("表单值" + item);//如果不是文件表单域 System.out.println("名字:"+item.getString()); } else { name = item.getName(); System.out.println("文件名:"+name); long size = item.getSize(); if (name != null && !name.equals("") && size == 0) { continue; } String path = request.getRealPath(""); File uploadFolder = new File(path + "/upload"); if (!uploadFolder.exists()) uploadFolder.mkdirs(); File file=new File(path + "/upload/" + name); item.write(file); } } response.setContentType("text/html");// 必须设置返回类型为text,否则ext无法正确解析json字符串 response.setCharacterEncoding("UTF-8");//设置编码字符集为utf-8,否则ext无法正确解析 PrintWriter outs = response.getWriter(); outs.write("{success:true}"); outs.close(); } catch (Exception e) { e.printStackTrace(); } }
}
[/code]本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥35 平滑拟合曲线该如何生成
- ¥100 c语言,请帮蒟蒻写一个题的范例作参考
- ¥15 名为“Product”的列已属于此 DataTable
- ¥15 安卓adb backup备份应用数据失败
- ¥15 eclipse运行项目时遇到的问题
- ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
- ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
- ¥15 自己瞎改改,结果现在又运行不了了
- ¥15 链式存储应该如何解决
- ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站