尝试使用java struts动作上传时无法读取/获取文件

时间:2016-11-14 08:58:37

标签: java file-upload struts

我试图在我的代码下面上传excel文件:

我正在使用bootstrap,blueimp插件和struts动作。

这是请求: ------ WebKitFormBoundary5peQFGFm3lEKCOB5 内容处理:表格数据;名称="文件名"

SMSMassploadOladDate.xls

------ WebKitFormBoundary5peQFGFm3lEKCOB5 内容处理:表格数据;名称="的FileInput&#34 ;;文件名="" Content-Type:application / octet-stream

------ WebKitFormBoundary5peQFGFm3lEKCOB5 内容处理:表格数据;命名="子"

------ WebKitFormBoundary5peQFGFm3lEKCOB5 -

在java操作中将文件设置为null 我试图使用httpServletReques获取文件:

public String uploadMassContentsFromExcelSheetNew() {
    HSSFSheet sheet = null;
    HSSFWorkbook workbook = null;
    FileInputStream inputStream = null;
    result=new JSONObject();

    try {
            if (fileName != null){
            fileName=fileName.trim();

        if  (fileName.endsWith(".xls") || fileName.endsWith(".xlsx") )  {
            String  filePath = servletRequest.getSession().getServletContext().getRealPath("/");
            servletRequest.getSession().getServletContext();
            HttpServletRequest request = ServletActionContext.getRequest();
            System.out.println("Parts*******:"+request.getParts()); //return null

            Part filePart =request.getPart("fileInput");//return null
            MultiPartRequestWrapper multiWrapper=(MultiPartRequestWrapper)ServletActionContext.getRequest();
            File[] f=multiWrapper.getFiles("fileInput"); //return null
            String fileName=multiWrapper.getFileNames("fileInput")[0];
            Enumeration fileParameterNames = multiWrapper.getParameterNames();
            String param = request.getParameter("fileInput");
        }
            }
    }
    catch(Exception ex){
        ex.printStackTrace();
    }
}           

jsp代码:

<html>
<form name="massUploadForm" id="fileupload" action="uploadMassContentsFromExcelSheetNew.action" method="post" enctype="multipart/form-data" onsubmit="doMassValidate();">           
                                          <input type="hidden" id="fileName" name="fileName" value=""/>
                                             <div id='fileDiv' class="row fileupload-buttonbar">
                                            <div class="col-md-12 col-xs-12 col-lg-12">
                                            <span class="btn btn-success fileinput-button">
                                            <i class="glyphicon glyphicon-plus"></i>
                                            <span>addFile</span>
                                            <input type="file"  name="fileInput" id="fileInput"  accept="application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet">
                                            </span>

                                            </div>

                                                </div>  

                                            <table role="presentation" class="table table-striped">
                                                <tbody class="files" id="addedFilesBody"></tbody>
                                                        </table>
                                                        <button  name="sub" type="submit" ></button>
                                                        </form>
<html>

0 个答案:

没有答案