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

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

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

2019-11-10 19:22:45
字體:
來源:轉載
供稿:網友

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";      }

      


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 防城港市| 富顺县| 伊吾县| 永州市| 乌拉特前旗| 兴业县| 潜江市| 灌南县| 荔波县| 长子县| 梨树县| 华池县| 和平区| 汶上县| 汕尾市| 定边县| 昭平县| 鄂托克旗| 溧水县| 江口县| 长顺县| 依安县| 五华县| 虎林市| 临沂市| 江孜县| 大兴区| 澳门| 武乡县| 金湖县| 蓬溪县| 资中县| 淳安县| 遵义县| 时尚| 彭水| 宣城市| 弋阳县| 灵台县| 山西省| 望奎县|