Java實現上傳txt,doc,docx文件並且讀取內容


1,前端上傳/導入文件:

var uploaderXls = new plupload.Uploader({//創建實例的構造方法
runtimes: 'gears,html5,html4,silverlight,flash', //上傳插件初始化選用那種方式的優先級順序
browse_button: 'btnImportXls', // 上傳按鈕
url: "resumeController.do?importExcel", //遠程上傳地址
flash_swf_url: 'plug-in/plupload/js/Moxie.swf', //flash文件地址
silverlight_xap_url: 'plug-in/plupload/js/Moxie.xap', //silverlight文件地址
filters: {
max_file_size: '10mb', //最大上傳文件大小(格式100b, 10kb, 10mb, 1gb)
mime_types: [//允許文件上傳類型
{title: "files", extensions: "txt,doc,docx"}
]
},
multipart_params:{isup:"1"},
multi_selection: false, //true:ctrl多文件上傳, false 單文件上傳
init: {
FilesAdded: function(up, files) { //文件上傳前
debugger;
uploaderXls.start();
},

FileUploaded: function(up, file, info) { //文件上傳成功的時候觸發
info1 = JSON.parse(info.response);
$("#resumeList").datagrid();
layer.alert(info1.msg);
//console.log(info.message);
},
Error: function(up,info, err) { //上傳出錯的時候觸發
layer.alert(err.message);
}
}
});
uploaderXls.init();

 

 

2,后台接收文件,並讀取:

MultipartFile是spring的一個接口,通常我們可以在controller定義方法使用MultipartFile接收form表單提交的文件,然后將MultipartFile可以轉化成一個文件。

可以直接通過MultipartFile自帶的getInputStream()方法將它轉換成File

 1 @RequestMapping(params = "importExcel", method = RequestMethod.POST)
 2 @ResponseBody
 3 public AjaxJson uploaderResumes(@RequestParam("file") MultipartFile file, HttpServletRequest request) throws Exception { 
 4   AjaxJson j = new AjaxJson();
 5   String message = "";
 6   // 判斷文件是否為空 
 7   if (!file.isEmpty()) { 
 9     String buffer = "";
11     try {
12       if (file.getOriginalFilename().endsWith(".doc")) {
13       WordExtractor ex = new WordExtractor(file.getInputStream());
14       buffer = ex.getText();
15       ex.close();
16 
17       } else if (file.getOriginalFilename().endsWith(".docx")) {
18       XWPFDocument xdoc = new XWPFDocument(file.getInputStream());
19       XWPFWordExtractor extractor = new XWPFWordExtractor(xdoc);
20       buffer = extractor.getText();
21       extractor.close();
22 
23       } else if (file.getOriginalFilename().endsWith(".txt")) {
24       InputStreamReader read = new InputStreamReader(
25       (file.getInputStream()),"UTF-8");
26       BufferedReader bufferedReader = new BufferedReader(read); 
27       String readerStr = null;
28       while((readerStr = bufferedReader.readLine()) != null){
29         buffer = buffer + "\n" +readerStr;
30       }
31       read.close();
32       } else {
33         message = "格式有誤,只允許txt,doc和docx";
34       }
35     } catch (FileNotFoundException e) {
36       // TODO Auto-generated catch block
37       e.printStackTrace();
38       message = "操作失敗";
39     }
40   }
41 j.setMsg(message);
42 return j;
43 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM