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

移動(dòng)端預(yù)覽指定鏈接的pdf文件流

這篇具有很好參考價(jià)值的文章主要介紹了移動(dòng)端預(yù)覽指定鏈接的pdf文件流。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

場景

直接展示外部系統(tǒng)返回的獲取文件流時(shí)出現(xiàn)了跨域問題:
移動(dòng)端預(yù)覽指定鏈接的pdf文件流,pdf,java

解決辦法

1. 外部系統(tǒng)返回的請求頭中調(diào)整(但是其他系統(tǒng)不會(huì)給你改的)

移動(dòng)端預(yù)覽指定鏈接的pdf文件流,pdf,java文章來源地址http://www.zghlxwxcb.cn/news/detail-650501.html

2. 我們系統(tǒng)后臺(tái)獲取文件流并轉(zhuǎn)為新的文件流提供給前端

/** 獲取傳入url文件流 */
@GetMapping("/getFileStream")
public ResponseEntity<org.springframework.core.io.Resource> getFileStream(
    @RequestParam("url") String url,
    @RequestParam(value = "download", required = false) boolean download)
    throws UnsupportedEncodingException, BusinessException {
  // 返回流
  ByteArrayOutputStream outputStream = OkHttpClientUtil.get(url);
  if (null == outputStream) {
    throw new BusinessException("文件流為空", ServiceResponseStatus.SERVICE_ERROR);
  }
  String baseName = FilenameUtils.getBaseName(url);
  String extension = FilenameUtils.getExtension(url);
  String filename =
      URLEncoder.encode(baseName, "UTF-8") + FilenameUtils.EXTENSION_SEPARATOR + extension;
  MediaType mediaType = MediaType.APPLICATION_OCTET_STREAM;
  if (FxCommFileType.PDF.getSuffix().toLowerCase().equals(extension)) {
    mediaType = MediaType.APPLICATION_PDF;
  }
  StringBuilder headerValues = new StringBuilder();
  if (download) {
    headerValues.append("attachment;");
  }
  headerValues.append("filename=").append(filename);
  return ResponseEntity.ok()
      .contentType(mediaType)
      .header(HttpHeaders.CONTENT_DISPOSITION, headerValues.toString())
      .body(new ByteArrayResource(outputStream.toByteArray()));
}

到了這里,關(guān)于移動(dòng)端預(yù)覽指定鏈接的pdf文件流的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • vue3移動(dòng)端實(shí)現(xiàn)pdf預(yù)覽

    vue3移動(dòng)端實(shí)現(xiàn)pdf預(yù)覽

    使用的插件有: html部分: js部分: 我一開始使用的時(shí)第一種方法,然后測試之后發(fā)現(xiàn) 蘋果手機(jī)會(huì)顯示pdf加載出錯(cuò)了 ,安卓手機(jī)可以正常顯示,于是換成了第二種方法。 html部分: js部分: 用了第二種插件后,蘋果手機(jī)還是加載不出來,后面查到因?yàn)閜dfjs-dist有時(shí)候會(huì)出現(xiàn)部

    2024年02月02日
    瀏覽(29)
  • Java實(shí)戰(zhàn):高效提取PDF文件指定坐標(biāo)的文本內(nèi)容

    Java實(shí)戰(zhàn):高效提取PDF文件指定坐標(biāo)的文本內(nèi)容

    臨時(shí)接到一個(gè)緊急需要處理的事項(xiàng)。業(yè)務(wù)側(cè)一個(gè)同事有幾千個(gè)PDF文件需要整理:需要從文件中的指定位置獲取對(duì)應(yīng)的編號(hào)和地址。 要的急,工作量大。所以就問到技術(shù)部有沒有好的解決方案。 問技術(shù)的話就只能寫個(gè)demo跑下了。 PDF的文檔看起來比較簡單,因?yàn)橹皇切枰x取兩

    2024年02月13日
    瀏覽(30)
  • 圖片鏈接或pdf鏈接通過瀏覽器打開時(shí),有時(shí)可以直接預(yù)覽,有時(shí)卻是下載,為什么?

    圖片鏈接或pdf鏈接通過瀏覽器打開時(shí),有時(shí)可以直接預(yù)覽,有時(shí)卻是下載,為什么?

    在前端開發(fā)中,有時(shí)候需要對(duì)一些文件鏈接進(jìn)行特殊處理,比如對(duì)于一些圖片鏈接或者PDF鏈接,有時(shí)我們需要通過瀏覽器打開進(jìn)行預(yù)覽,有時(shí)又不希望通過瀏覽器進(jìn)行打開,而是希望能夠直接下載到本地。但現(xiàn)實(shí)效果卻往往跟我們相反,我們希望瀏覽器打開時(shí),他卻直接下載

    2024年02月10日
    瀏覽(25)
  • Java將獲取的參數(shù),圖片以及pdf文件放入到word文檔指定位置

    Java將獲取的參數(shù),圖片以及pdf文件放入到word文檔指定位置

    首先引入的依賴 接下面的是template.docx文檔,參數(shù)是以{{paramName}}格式的,為什么要以這種格式,是因?yàn)橄旅娴姆椒?在替換參數(shù)的時(shí)候需要 但是從數(shù)據(jù)庫獲取的參數(shù)跟模板中的參數(shù)一一對(duì)應(yīng)上即可,格式如下(我是json形式展示的): { ?? ?\\\"countQuota\\\": \\\"1\\\", ?? ?\\\"noEmission\\\": \\\"1\\\", ?

    2024年02月15日
    瀏覽(34)
  • 【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回顯頁面,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)
  • 【PDF.js】PDF文件預(yù)覽

    【PDF.js】PDF文件預(yù)覽

    使用PDFJS實(shí)現(xiàn)pdf文件的預(yù)覽,支持預(yù)覽指定頁、搜索、縮略圖、頁面尺寸調(diào)整等等。 官方地址 文檔地址 下載地址 將下載的壓縮包解壓并放入到項(xiàng)目中的public文件夾下,我這里下載的是pdfjs-4.0.379-dist版本,如下 在 pdfjs-4.0.379-dist/web/viewer.mjs 內(nèi)搜索 throw new Error(“file or

    2024年04月11日
    瀏覽(27)
  • pdf.js預(yù)覽pdf文件

    預(yù)覽pdf一般通過瀏覽器自帶的pdf預(yù)覽器就可以,但有時(shí)候需要窗口預(yù)覽或自定義操作,可以使用pdf.js操作 pdf.js需要構(gòu)建后使用,我們可以直接下載安裝pdfjs-dist,這是構(gòu)建好的版本 這里注意你的環(huán)境,新版本使用了可選鏈,空值合并和私有 class 字段/方法等,如果你的瀏覽器

    2024年02月03日
    瀏覽(27)
  • 前端預(yù)覽pdf文件

    前端預(yù)覽pdf文件

    在前端開發(fā)中,很多時(shí)候我們需要進(jìn)行pdf文件的預(yù)覽操作,下面給出幾種常見的預(yù)覽pdf文件的方法: 如果項(xiàng)目對(duì)pdf的預(yù)覽功能要求不高,只是要求能夠看的話,可以直接在瀏覽器上打開pdf文件的地址,代碼如下 PDF.js是一個(gè)由Mozilla開發(fā)的JavaScript庫,用于在網(wǎng)頁上呈現(xiàn)和操作

    2024年02月15日
    瀏覽(21)
  • 【vue-pdf】PDF文件預(yù)覽插件

    1 插件安裝 vue-pdf GitHub:https://github.com/FranckFreiburger/vue-pdf#readme 參考文檔:https://www.cnblogs.com/steamed-twisted-roll/p/9648255.html catch報(bào)錯(cuò):vue-pdf組件報(bào)錯(cuò)vue-pdf Cannot read properties of undefined (reading ‘catch‘)_你看我像是會(huì)的樣子嗎?的博客-CSDN博客 2 代碼示例 Example.01 超簡單分頁預(yù)覽 E

    2024年02月14日
    瀏覽(31)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包