Servlet 知識點(三) -- Servlet 的文件上傳功能導致後臺取值失敗

Servlet 和其他基於 Servlet 框架的文件上傳機制有些不同 , Servlet 只能接收 enctype爲缺省的 application/x-www-form-urlencoded 類型的數據 , 而現在上傳文件都是通過二進制流的方式 ,將 enctype 改爲了 enctype=”multipart/form-data” .
所以 request.getParameter(“name”); 是取不到表單傳過來的值的 . 對於這個問題 , servlet 給我們提供了一個不是那麼優秀的解決方案 – 使用 smartUpload 上傳文件
smartUpload 下載地址:
http://download.csdn.net/detail/jacxuan/9880854

SmartUpload su = new SmartUpload();
        su.initialize(this.getServletConfig(), request, response);
        // 上傳限制
        su.setMaxFileSize(1024 * 1024 * 10); // 設置大小10MB
        su.upload();
            //保存到指定路徑
            su.save("D:\\");
            //獲取消息媒體名稱
            filePath=su.getFiles().getFile(0).getFileName();
          //取值方式
        String sendOption = su.getRequest().getParameter("sendOption");

        String chooseStyle = su.getRequest().getParameter("chooseStyle");

        String content=su.getRequest().getParameter("content");

使用 smartUpload 上傳文件會比平時上傳耗費更多的時間 , 不推薦使用 .

發佈了141 篇原創文章 · 獲贊 851 · 訪問量 185萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章