panxing1101 2010-12-10 14:15
浏览 292
已采纳

session存值的问题,大家进来看下啊。

下面这段代码就是个上传的功能,现在是这样的,比如我连续上传3个文件a.doc,b.doc,c.doc,然后用 session.setAttribute("filespath",str);
把名称存下来,可是每次存的都是c.doc,我看了下,应该是在session里面,每次上传都把前一个的文件名称给覆盖了,所以都保存的是最后一个名称,我想把这3个名称都保存下来。。。。大家看下啊。

我在别的页面上去掉用
String zlfielpath = (String)session.getAttribute("filespath");
[code="java"]
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
HttpSession session = request.getSession();
DiskFileItemFactory factory = new DiskFileItemFactory();
// 设置内存缓冲区,超过后写入临时文件
factory.setSizeThreshold(10240000);
// 设置临时文件存储位置
String root = request.getRealPath("")+"\upwordzl";
String saveurl=root+"\";
File file = new File(saveurl);
if(!file.exists())
//file.mkdirs(); 创建文件夹
factory.setRepository(file);
ServletFileUpload upload = new ServletFileUpload(factory);
// 设置单个文件的最大上传值
upload.setFileSizeMax(10002400000l);

    // 设置整个request的最大值
    upload.setSizeMax(10002400000l);
    upload.setHeaderEncoding("UTF-8");

    try {
        List<?> items = upload.parseRequest(request);
        FileItem item = null;
        String fileName = null;
        String str = "";
        for (int i = 0 ;i < items.size(); i++){
            item = (FileItem) items.get(i);
            fileName = saveurl + File.separator + item.getName();
            // 保存文件

            if (!item.isFormField() && item.getName().length() > 0) {
                item.write(new File(fileName));
                str =item.getName()+"★";
            }

        }

         session.setAttribute("filespath",str);//保存名称,


    } catch (FileUploadException e) {
        e.printStackTrace();
    } catch (Exception e) {
        e.printStackTrace();
    }


}

[/code]

  • 写回答

3条回答 默认 最新

  • zzfolin 2010-12-10 15:17
    关注

    不可能的,你去打印一下items 跟 pathList 的size 肯定不是1 是1的话 那肯定取出来的是一条记录 你debug一下

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?