为了账号安全,请及时绑定邮箱和手机立即绑定

文件上传的路径问题

文件上传的路径问题

跃然一笑 2019-03-22 19:15:32
public class UploadServlet3 extends HttpServlet {    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {        doGet(request, response);    }    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {        //检测form是否是multipart/form-data类型的        boolean isMultipart = ServletFileUpload.isMultipartContent(request);        if (!isMultipart) {            throw new RuntimeException("The form's enctype attribute value must be multipart/form-data");        }        //解析请求内容        DiskFileItemFactory factory = new DiskFileItemFactory();    //产生FileItem的工厂        ServletFileUpload sfu = new ServletFileUpload(factory);        List<FileItem> items = new ArrayList<FileItem>();        try {            items = sfu.parseRequest(request);        } catch (FileUploadException e) {            throw new RuntimeException("解析请求失败");        }        //遍历:        for (FileItem item : items) {            //处理普通字段            if (item.isFormField()) {                processFormField(item);            } else {                //处理上传字段                processUploadField(item);            }        }    }    protected void processUploadField(FileItem item) {        try {            InputStream in = item.getInputStream();            //找一个存放文件的位置;存放的文件名            String fileName = item.getName();   //上传的文件的文件名            if (fileName != null) {                fileName = FilenameUtils.getName(fileName);            }其中:        //存放路径        String realPath = getServletContext().getRealPath("/WEB-INF/files");        在部署到tomcat中后,并没有发现上传后的文件在WEB-INF目录下,这样不就不能保证服务器端的安全吗?反而是在项目根目录下发现的。
查看完整描述

3 回答

?
12345678_0001

TA贡献1802条经验 获得超5个赞

jsp的表单提交给servlet的路径错误


查看完整回答
反对 回复 2019-04-23
?
慕婉清6462132

TA贡献1804条经验 获得超2个赞

WEB-INFO这个路径好像是比较特殊,普通的读写都不能再这个目录下。我之前也遇到过,硬是读不出数据来。


查看完整回答
反对 回复 2019-04-23
?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

文件不建议放在应用服务路径下,可以考虑通过配置文件放在特定文件夹下,如果没有特殊的权限要求,这些文件可以通过nginx或者Apache去访问。应用服务器的部署或者重启都可能让文件丢失


查看完整回答
反对 回复 2019-04-23
  • 3 回答
  • 0 关注
  • 613 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号