国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

file批量上傳文件,upload.parseRequest(request)返回空

2019-11-10 20:16:48
字體:
來源:轉載
供稿:網友

1、用 file標簽實現,加上multiple屬性可以多選,但是IE瀏覽器不支持該屬性

      頁面代碼:

<form action="uploadfile.action" method="post" enctype="multipart/form-data">         <table>               <tr>               <td><input type="file" id ="file" name="file" multiple="multiple" size="40"></td>             </tr>               <tr>               <td colspan="2" align="center"><input type="submit" value="上傳"/></td>             </tr>           </table></form>

       后臺處理:

      items = upload.parseRequest(request);返回空值,解決方法分為3步

1)、增加一個類

public class MyRequestParser extends JakartaMultiPartRequest {public void parse(HttpServletRequest  servletRequest,   String   saveDir) throws IOException {} }

2)、修改struts.xml

<struts>    <!-- struts2.3.4版本 --><!--     <bean type= "org.apache.struts2.dispatcher.multipart.MultiPartRequest"           name= "myRequestParser" class= "actiontest.MyRequestParser"           scope= "default" optional= "true " />     <constant name= "struts.multipart.handler" value= "myRequestParser" /> -->        <!-- struts2.3.15.1 以后的版本 -->    <bean type="org.apache.struts2.dispatcher.multipart.MultiPartRequest"             name="myMultiPartRequest" class="actiontest.MyRequestParser"             scope="default" optional="true"/>      <constant name="struts.multipart.parser" value="myMultiPartRequest" /> 

3、

    public String uploadFiles() throws IOException {    request.setCharacterEncoding("UTF-8");     PRintWriter out = null;        FileItemFactory factory = new DiskFileItemFactory();        ServletFileUpload upload = new ServletFileUpload(factory);        File directory = null;        List<FileItem> items = new ArrayList();        try {

            //該句代碼在執行時返回的items為空            items = upload.parseRequest(request);            // 得到所有的文件            Iterator<FileItem> it = items.iterator();            while (it.hasNext()) {                FileItem fItem = (FileItem) it.next();                String fName = "";                Object fValue = null;                if (fItem.isFormField()) { // 普通文本框的值                    fName = fItem.getFieldName();                    fValue = fItem.getString("UTF-8");                } else { // 獲取上傳文件的值                        fName = fItem.getFieldName();                        fValue = fItem.getInputStream();                        String name = fItem.getName();                        if(name != null && !("".equals(name))) {                            name = name.substring(name.lastIndexOf(File.separator) + 1);                                                        directory = new File("d://test");                            directory.mkdirs();                                String filePath = ("d://test")+ File.separator + name;                                                        InputStream is = fItem.getInputStream();                            FileOutputStream fos = new FileOutputStream(filePath);                            byte[] buffer = new byte[1024];                            while (is.read(buffer) > 0) {                                    fos.write(buffer, 0, buffer.length);                            }                            fos.flush();                            fos.close();                            }                        }                    }                } catch (Exception e) {                return "error";                }        return "success";      }

      


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 监利县| 西和县| 阳高县| 谷城县| 黄冈市| 航空| 贵阳市| 大英县| 绍兴县| 栾川县| 白朗县| 长垣县| 阳春市| 英山县| 丰城市| 崇阳县| 汉沽区| 增城市| 西林县| 大石桥市| 阿拉善右旗| 巍山| 郓城县| 肥乡县| 汕尾市| 德昌县| 高碑店市| 佛山市| 荥阳市| 南陵县| 永川市| 盐边县| 泽普县| 雷州市| 台安县| 钟山县| 镶黄旗| 鲁山县| 武宁县| 嘉禾县| 雅安市|