1. 程式人生 > >通過Rest實現檔案下載

通過Rest實現檔案下載

在專案中需要對外提供Rest風格的API實現檔案的下載。現把實現的程式碼貼出來。關鍵的是要把

produces = MediaType.MULTIPART_FORM_DATA_VALUE才能實現下載。
import java.util.List;

import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

import com.base.utils.FdfsUtils;
import com.business.model.FileInfo;

@RestController
@RequestMapping("/rest")
public class DownloadRestController {

	/**
	 * 下載
	 * 
	 * @param systemInfo
	 * @param ucBuilder
	 * @return
	 */
	@RequestMapping(value = "/download/", method = RequestMethod.POST, produces = MediaType.MULTIPART_FORM_DATA_VALUE)
	@Transactional
	public ResponseEntity<byte[]> downloadFile(@RequestBody FileInfo entity) {

		
		if (entity == null) {
			return new ResponseEntity<byte[]>(HttpStatus.BAD_REQUEST);
		} else {
			byte[] fileArray = FdfsUtils.downloadFromFdfs(entity.getFilePath());
			return new ResponseEntity<byte[]>(fileArray, HttpStatus.OK);
		}
	}
}


相關推薦

通過Rest實現檔案下載

在專案中需要對外提供Rest風格的API實現檔案的下載。現把實現的程式碼貼出來。關鍵的是要把 produces = MediaType.MULTIPART_FORM_DATA_VALUE才能實現下載。 import java.util.List; import org

javaweb簡單通過springmvc實現檔案下載

@RequestMapping("/downloadApk")public ResponseEntity<byte[]> DownloadAPK(HttpServletRequest req, HttpServletResponse resp) throws IOException {//確定文字

前端通過Blob實現檔案下載

最近遇到一個需求,需要將頁面中的配置資訊下載下來供使用者方便使用,以前這個場景的需求有時候會放到後端處理,然後給返回一個下載連結。其實並不需要這麼麻煩,這樣既增大了伺服器的負載,也讓使用者產生了沒有必要的網路請求,現在前端也是可以直接通過Blob物件進行前端檔案下載了,下面簡單記錄下相關實現 Blob物件

通過Servlet實現檔案的上傳和下載

一、要實現Servlet的檔案上傳和下載,首先需要藉助第三方的jar包        二、Servlet的程式碼        package com.xh.web; import org.apache

通過檔案url,實現檔案下載

通過url實現檔案下載 @Log("下載檔案") @ResponseBody @RequestMapping(value = "/download", method = RequestMethod.GET) public R Download(HttpServletResp

通過位元組流方式實現檔案下載以及其中的編碼問題

關鍵程式碼 頁面程式碼 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding

js自定義方法通過隱藏iframe實現檔案下載

<script> function download() { //下載檔案的地址 var url="http://music.baidu.com/data/music/file?link=http://zhangmenshiting.baidu.com/data2/music/13618994/1

Spring 實現檔案下載功能

方式1: public void download(HttpServletResponse response,@RequestParam(value="params") String params) throws IOException, DocumentException{ response

JQuery 實現檔案下載

GET方式 window.location.href = url; POST方式 var url = "下載介面地址"; // 構造隱藏的form表單 var $form = $("<form id='download' class='hidden' method='po

Servlet實現檔案下載

在瀏覽網站的時候很多涉及到檔案下載的情況,在初學JavaWeb的時候我們如何使用Servlet來實現檔案下載呢? 在學習此之前,我們要知道兩個重要的概念。request和response。請求和相應。 請求:請求頭、請求行、請求體。 相應:相應頭、相應行、相應體。 大家可以上網找一下

java web實現檔案下載

javaweb實現檔案下載 實現檔案下載 解決下載檔名帶有中文亂碼問題 效果圖 實現思路 根據請求連接獲取檔名和檔案型別,設定響應頭,獲取輸入流和輸出流 核心程式碼 public void doGet(HttpServletR

mvc 在彈出框中實現檔案下載

var myParent = parent.parent.parent.parent.parent.parent.parent.parent.parent.parent.parent.parent; FileDown = function (fileName, realFileName) { $

前端實現檔案下載和拖拽上傳

蘇格團隊 作者:WDZ 交流QQ群:855833773 歡迎加入我們的團隊,微信聯絡方式:foreverpx_cjl 筆者在業務中碰到了需要下載示例和拖拽上傳並實現進度條的功能,針對過程中遇到的問題,筆者進行了相應的總結。 需求 頁面中增加下載示例按鈕

Java多執行緒使用執行緒池實現檔案下載

多執行緒下載原理: 1、基本思路是將檔案分段切割、分段傳輸、分段儲存。 2、分段切割用到HttpUrlConnection物件的setRequestProperty(“Range”, “bytes=” + start + “-” + end)方法。 3、分段傳輸用到HttpU

Linux通過NFS實現檔案共享

在專案生產環境我們經常需要實現檔案共享,傳統的常見方案是通過NFS,實現伺服器之間共享某一塊磁碟,通過網路傳輸將分散的檔案集中儲存在一塊指定的共享磁碟,實現基本的檔案共享。實現這種方案,分服務端和客戶端,將服務端的磁碟mount到客戶端指定目錄下,在客戶端操作就像操作本地磁碟一樣,nfs基本的安裝如下: 模

使用Servlet實現檔案下載

檔案下載 直接在html或jsp頁面寫入超連結 <!--點選後 瀏覽器可以解析的會自動開啟 不能解析度提示下載--> <a href="專案名/資源路徑">資源路</a> 編寫檔案下載功能 即不讓瀏覽器解析

Spring Boot實現檔案下載功能

我們只需要建立一個控制器(Controler)檔案,即Controller目錄下的File_Download.java,其完整目錄如下: @Controller public class File_Download { //實現Spring Boot 的檔案下載功能,對映網址為/download

C#實現檔案下載

/// <summary> /// 使用OutputStream.Write分塊下載檔案 /// </summary> /// <param name="filePath"></param>

點選按鈕實現檔案下載

一、使用背景 一般來說,當我們上傳檔案之後,便會要提供檔案下載的入口。而其實檔案下載就是獲取檔案,並將檔案內容寫入到HTTP返回響應的過程。 二、前端實現方式 構造form表單提交 1、引入相關j

SpringMVC實現檔案下載功能(檔案匯出功能)

1.頁面程式碼 <a class="layui-btn" href="${pageContext.request.contextPath}/bAndWListManage/downloadWhiteListTmp.do" onclick="downloadTempla