国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

java返回文件時(shí)為圖片或pdf等設(shè)置在線預(yù)覽或下載

這篇具有很好參考價(jià)值的文章主要介紹了java返回文件時(shí)為圖片或pdf等設(shè)置在線預(yù)覽或下載。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

設(shè)置Content-Disposition響應(yīng)頭類型

"inline"查看預(yù)覽 ; "attachment"下載;

inline:表示回復(fù)中的消息體會(huì)以頁(yè)面的一部分或者整個(gè)頁(yè)面的形式展示
attchment:以附件形式被下載到本地;

/**
 * 文件或圖片預(yù)覽/下載工具類
 * @author zh、
 * @data 2024/1/11 18:35
 */
@Component
@Slf4j
public class FileHttpUtil {

    /**
     * 根據(jù)物理路徑文件 獲取 下載/預(yù)覽 文件
     * @param file 文件
     * @param type 設(shè)置響應(yīng)頭類型 "inline"查看  "attachment"下載
     * @param fileName 文件名 
     * @return 對(duì)應(yīng)類型響應(yīng)文件
     */
    public static ResponseEntity<?> getResponseEntity(byte[] file , String type , String fileName ){
        ResponseEntity.BodyBuilder responseEntity = ResponseEntity.ok();
        HttpHeaders httpHeaders = new HttpHeaders();
        Tika tika = new Tika();
        String mediaType = tika.detect(file);
        httpHeaders.setContentType(MediaType.parseMediaType(mediaType));
        httpHeaders.setContentDisposition(ContentDisposition.builder(type)
                .filename(URLEncoder.encode(fileName )).build());
        httpHeaders.setCacheControl(CacheControl.noCache());
        //httpHeaders.setCacheControl(CacheControl.maxAge(10, TimeUnit.MINUTES));
        return responseEntity.headers(httpHeaders).body(file );
    }


需要的pom依賴文件
	<dependency>
      <groupId>org.apache.tika</groupId>
      <artifactId>tika-core</artifactId>
      <version>1.28.4</version>
    </dependency>

接口調(diào)用或測(cè)試文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-819266.html

  /**
     * 查詢文件
     * @param filePath文件地址 物理路徑
     * @param type 設(shè)置響應(yīng)頭類型  "inline"查看  "attachment"下載
     * @return 響應(yīng)文件
     * @throws IOException
     */
    @GetMapping(value = "/file")
    public ResponseEntity<?> file(String filePath,String type){
   		 //根據(jù)文件路徑去文件服務(wù)獲取文件
        File file = new File(filePath);
        try (FileInputStream fileInputStream = new FileInputStream(file)) {
            byte[] buf = new byte[fileInputStream.available()];
            fileInputStream.read(buf);
            return FileHttpUtil.getResponseEntity(buf, type,file .getName());
        } catch (IOException e) {
             e.printStackTrace();
        }
    }

到了這里,關(guān)于java返回文件時(shí)為圖片或pdf等設(shè)置在線預(yù)覽或下載的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • vue-pdf實(shí)現(xiàn)pdf文件在線預(yù)覽

    在日常的工作中在線預(yù)覽 PDF 文件的需求是很多的,下面介紹一下使用 vue-pdf 實(shí)現(xiàn)pdf文件在線預(yù)覽 使用 npm 安裝 vue-pdf npm install vue-pdf 使用 vue-pdf 顯示 PDF 文件 此時(shí)頁(yè)面中就會(huì)顯示我們提供的 PDF 文件了,但是此時(shí)只顯示了 PDF 文件的第一頁(yè) 按頁(yè)顯示 PDF 文件 使用 vue-pdf 能滿足

    2024年02月13日
    瀏覽(29)
  • 【Vue】vue2使用pdfjs預(yù)覽pdf文件,在線預(yù)覽方式一,pdfjs文件包打開新窗口預(yù)覽pdf文件

    【Vue】vue2使用pdfjs預(yù)覽pdf文件,在線預(yù)覽方式一,pdfjs文件包打開新窗口預(yù)覽pdf文件

    【Vue】vue2預(yù)覽顯示quill富文本內(nèi)容,vue-quill-editor回顯頁(yè)面,v-html回顯富文本內(nèi)容 【Vue】vue2項(xiàng)目使用swiper輪播圖2023年8月21日實(shí)戰(zhàn)保姆級(jí)教程 【Vue】vue2使用pdfjs預(yù)覽pdf文件,在線預(yù)覽方式一,pdfjs文件包打開新窗口預(yù)覽pdf文件 提示:這里可以添加本文要記錄的大概內(nèi)容: vue

    2024年02月07日
    瀏覽(26)
  • Java后端返回PDF預(yù)覽給前端

    前端要預(yù)覽服務(wù)器PDF 可直接將要blob流返回給前端 即可用瀏覽器自帶pdf預(yù)覽功能打開,現(xiàn)有兩種方式 方式1 返回blob流給前端 代碼如下? ? ? ? 此時(shí) 前端解析可直接拿返回的文件流 例子如下 但有的時(shí)候 不想返回文件流 可把文件返回為base64 (注意 base64可能超長(zhǎng))此時(shí)代碼修

    2024年02月08日
    瀏覽(28)
  • OpenSource - 文件在線預(yù)覽模塊(多格式轉(zhuǎn) PDF 文件)

    OpenSource - 文件在線預(yù)覽模塊(多格式轉(zhuǎn) PDF 文件)

    說明:本項(xiàng)目是將一些常見的技術(shù)做了整合,幫助那些需要在線預(yù)覽文件或正在尋找 office 轉(zhuǎn) pdf 文件預(yù)覽的同學(xué)。 2023新增說明: 《文檔轉(zhuǎn)換預(yù)覽技術(shù)說明》:https://www.yuque.com/hcwdc/open/pos2lih1vi3248g9 已經(jīng)將部分的教程進(jìn)行了整合優(yōu)化,放到了語(yǔ)雀的平臺(tái)上,原先的老教程依然

    2024年01月23日
    瀏覽(12)
  • vue3管理系統(tǒng)中后臺(tái)返回pdf格式的文件流,前端如何預(yù)覽?以及uniapp微信小程序中后臺(tái)返回的base64位的pdf文件如何預(yù)覽?

    vue3管理系統(tǒng)中后臺(tái)返回pdf格式的文件流,前端如何預(yù)覽?以及uniapp微信小程序中后臺(tái)返回的base64位的pdf文件如何預(yù)覽?

    后臺(tái)返回的是base64格式的pdf文件,首先需要解析base64文件的插件 image-tools 1 安裝并引入插件 2 封裝預(yù)覽pdf的函數(shù) 3 調(diào)用接口獲取數(shù)據(jù)

    2024年01月18日
    瀏覽(176)
  • vue,uniapp的pdf等文件在線預(yù)覽

    uniapp文件在線預(yù)覽方案 做個(gè)網(wǎng)頁(yè)用kkFileView插件實(shí)現(xiàn)文件預(yù)覽,uniapp就用web-view來(lái)展示 下面是我寫的示例查看PDF文件,先將PDF下載路徑轉(zhuǎn)為Base64 vue通過iframe打開查看 uniapp通過web-view來(lái)查看

    2024年02月04日
    瀏覽(26)
  • Vue中使用pdf.js實(shí)現(xiàn)在線預(yù)覽pdf文件流

    以下是在Vue中使用pdf.js實(shí)現(xiàn)在線預(yù)覽pdf文件流的步驟: 在需要使用的組件中,使用以下代碼引入pdf.js: 使用pdf.js的 getDocument() 方法加載pdf文件流??梢詫⑽募髯鳛锽lob對(duì)象傳遞給該方法。例如,可以使用axios從服務(wù)器獲取pdf文件流: 在 loadPdf() 方法中,使用 getDocument() 方法

    2024年02月09日
    瀏覽(96)
  • vue項(xiàng)目用后端返回的文件流實(shí)現(xiàn)docx和pdf文件預(yù)覽

    vue項(xiàng)目用后端返回的文件流實(shí)現(xiàn)docx和pdf文件預(yù)覽

    寫這篇文章的目的,是因?yàn)槲冶容^懶,想把代碼記錄一下,方便日后使用;哈哈,如果你也需要,也可以復(fù)制粘貼啊,為了方便自己和需要的人知道怎么使用,我盡量寫的詳細(xì)一點(diǎn),沒有什么技術(shù)難點(diǎn),就是簡(jiǎn)單的記錄,萬(wàn)一能幫到需要的人呢,也是一件美事; 其實(shí)也就是使

    2023年04月20日
    瀏覽(32)
  • 【Vue實(shí)用功能】Vue實(shí)現(xiàn)文檔在線預(yù)覽功能,在線預(yù)覽PDF、Word、Excel、ppt等office文件

    【Vue實(shí)用功能】Vue實(shí)現(xiàn)文檔在線預(yù)覽功能,在線預(yù)覽PDF、Word、Excel、ppt等office文件

    Luckysheet 是一個(gè)類似于 excel 的在線電子表格,功能強(qiáng)大、配置簡(jiǎn)單且完全開源。 安裝 Luckysheet 1、通過CDN引入依賴 由于 Luckysheet 現(xiàn)在還沒有發(fā)布出模塊化的開發(fā),不能使用 npm,所以我們需要在 VUE 項(xiàng)目中手動(dòng)引入相關(guān)文件。編輯 public/index.html 文件,在里面添加如下代碼 2、指

    2023年04月22日
    瀏覽(311)
  • 【uniapp】uniapp開發(fā)app項(xiàng)目實(shí)現(xiàn)在線預(yù)覽pdf文件

    【uniapp】uniapp開發(fā)app項(xiàng)目實(shí)現(xiàn)在線預(yù)覽pdf文件

    最終效果: 1.需要先從網(wǎng)上下載一份 pdf.js 的文件 地址:http://mozilla.github.io/pdf.js/getting_started/ 2.可以在uniapp項(xiàng)目中和 pages 目錄平級(jí)新建一個(gè) hybrid 文件夾,把下載好的 pdf.js 文件全部放到里面,主要是利用了web文件夾下的 viewer.html 文件 3.要實(shí)現(xiàn)pdf預(yù)覽,需要用到 uniapp 的一個(gè)

    2023年04月08日
    瀏覽(16)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包