spring MVC應用(五)---文件上傳下載

文件上傳分了4種類型:1)使用commons-fileupload工具包上傳;2)使用springmvc上

傳單個文件;3)使用springmvc上傳多個文件;4)使用百度的webuploader插件進行斷點續傳。代碼如下:

參考:https://github.com/hurricane123/multi/tree/master/springboot

文件下載:

js:

	ns.downloadFile = function(name){
		var a = document.createElement('a');
		var url = basePath + 'fileserver/downloadFile/?name='+name;
		a.href=url;
		a.click()
	}

Java:

	@GetMapping("downloadFile")
	public void downloadFile(HttpServletResponse response,@RequestParam String name) {
		String uploadPath = initUploadDictory();
		File file = new File(uploadPath+name);
		if (uploadPath!=null && file.isFile()) {
			InputStream inputStream = null;
			OutputStream outputStream = null;
			try {
				inputStream = new FileInputStream(file);
				response.setCharacterEncoding("utf-8");
			    response.setContentType("multipart/form-data");
			    response.setHeader("Content-Disposition", "attachment;fileName=" + name);
				outputStream = response.getOutputStream();
				byte[] buffer = new byte[1024];
				int len = 0;
				while((len = inputStream.read(buffer, 0, 1024))>0) {
					outputStream.write(buffer, 0, len);
				}
			} catch (Exception e) {
				e.printStackTrace();
			}finally {
				if (inputStream!=null) {
					try {
						inputStream.close();
					} catch (IOException e) {
						e.printStackTrace();
						inputStream = null;
					}
				}
				if (outputStream!=null) {
					try {
						outputStream.close();
					} catch (IOException e) {
						e.printStackTrace();
						outputStream = null;
					}
				}
			}
		}
	}

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章