Springboot excelファイルのアップロードとダウンロードを実現
4213 ワード
私は私がとても愚かなことを発见して、こんなに长い间..
まずpomファイルを以下のようにインポートします.
それから書き始めました.テストとしてページを使いました.ページコードは以下の通りです.
ダウンロード
次にアプリケーション.JAvaという起動ファイルは以下のように書かれています.
次にコントローラの書き方ですが、アップロードとダウンロードのコードは以下の通りです.
アップロード;
ダウンロード:
まずpomファイルを以下のようにインポートします.
org.apache.poi
poi
3.16
org.apache.poi
poi-ooxml
3.16
commons-io
commons-io
2.6
それから書き始めました.テストとしてページを使いました.ページコードは以下の通りです.
Title
ページ。。。
ファイルのアップロードダウンロード
次にアプリケーション.JAvaという起動ファイルは以下のように書かれています.
public static String tempPath="D://images/";
@Bean
MultipartConfigElement multipartConfigElement(){
MultipartConfigFactory factory = new MultipartConfigFactory();
factory.setLocation(tempPath);
return factory.createMultipartConfig();
}
次にコントローラの書き方ですが、アップロードとダウンロードのコードは以下の通りです.
アップロード;
@ResponseBody
@RequestMapping("file/upup")
public TaotaoResult upup(@RequestParam("file")MultipartFile file,
HttpServletRequest request){
if(!file.isEmpty())
{
String pa="D:/images/";
path=request.getServletContext().getRealPath("");
//
String filename=file.getOriginalFilename();
File filepath=new File(path,filename);
// ,
if (!filepath.getParentFile().exists()){
filepath.getParentFile().mkdirs();
}
//
try {
file.transferTo(new File(pa+File.separator+filename));
return TaotaoResult.ok(" ");
} catch (IOException e) {
e.printStackTrace();
}
}else {
return TaotaoResult.ok(" , ");
}
return TaotaoResult.ok(" ");
}
ダウンロード:
@ResponseBody
@RequestMapping("/download")
public TaotaoResult downloadFile(HttpServletRequest request,HttpServletResponse response) throws UnsupportedEncodingException {
//
File scFileDir = new File("D://images");
File TrxFiles[] = scFileDir.listFiles();
System.out.println(TrxFiles[0]);
String fileName = TrxFiles[0].getName(); //
// ,
if (fileName != null) {
//
String realPath = "D://images/";
File file = new File(realPath, fileName);
// ,
if (file.exists()) {
//
response.setHeader("content-type", "application/octet-stream");
response.setContentType("application/octet-stream");
//
response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8"));
//
byte[] buffer = new byte[1024];
FileInputStream fis = null;
BufferedInputStream bis = null;
try {
fis = new FileInputStream(file);
bis = new BufferedInputStream(fis);
OutputStream os = response.getOutputStream();
int i = bis.read(buffer);
while (i != -1) {
os.write(buffer, 0, i);
i = bis.read(buffer);
}
System.out.println("Download the song successfully!");
}
catch (Exception e) {
System.out.println("Download the song failed!");
}
finally {
if (bis != null) {
try {
bis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (fis != null) {
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
return TaotaoResult.ok(" ");
}