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

前端向Java后端請(qǐng)求blob、arraybuffer類型的數(shù)據(jù)流

這篇具有很好參考價(jià)值的文章主要介紹了前端向Java后端請(qǐng)求blob、arraybuffer類型的數(shù)據(jù)流。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

項(xiàng)目需求描述:

前端需要獲取后端音頻文件,但遇到跨域問(wèn)題,不能直接使用url獲取,需求必須使用流將文件傳到前端。因此,考慮Java后端讀取音頻文件,然后向前端發(fā)送數(shù)據(jù)流,前端按后端發(fā)送類型將數(shù)據(jù)接收,并合成其格式文件。

后端代碼舉例

 @ResponseBody
 @PostMapping("/getWavFile")
 public ResponseEntity<byte[]> getUserVoiceprint(String fileName){
	 if(fileName == null || fileName == ""){
	     return null;
	 }
	 try{
	     String vpPath = "E:/files/wav/" + fileName + ".wav";
	     File f = new File(vpPath);
	     if(f.exists()){
	         byte[] file = Files.readAllBytes(f.toPath());
	         HttpHeaders headers = new HttpHeaders();
	         headers.set("Content-Disposition", "attachment; filename=\"" + f.getName() +".wav\"");
	         ResponseEntity<byte[]> response = new ResponseEntity(file, headers, HttpStatus.OK);
	         return response;
	     }else{
	         return null;
	     }
	 } catch (IOException e) {
	     e.printStackTrace();
	 }
	 return null;
 }

前端代碼舉例

引入axios.min.js文件

<script src="https://cdn.staticfile.org/axios/0.18.0/axios.min.js"></script>
 axios({
     method:"post",
     url: "/getWavFile",
     params: {fileName: wavName},
     responseType:'arraybuffer',
     headers: { 'Accept': '*/*', 'Content-Type': 'audio/wav' }
 }).then(data => {
     if(data.data.byteLength > 0){
         blob = new Blob([data.data], {type: 'audio/wav'});
         let audio = document.createElement('audio');
         audio.src = URL.createObjectURL(blob);
         audio.play();
     }else{
         alert("未查詢到記錄");
     }
 }).catch(function() {
     alert("未查詢到記錄");
 });

其中,responseType:‘a(chǎn)rraybuffer’,寫(xiě)成responseType:'blob’也可以;method也可以使用get,但此時(shí)不能使用params傳參。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-540280.html

到了這里,關(guān)于前端向Java后端請(qǐng)求blob、arraybuffer類型的數(shù)據(jù)流的文章就介紹完了。如果您還想了解更多內(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)文章

  • Java后端和前端傳遞的請(qǐng)求參數(shù)的三種類型

    在 HTTP 請(qǐng)求中,常見(jiàn)的請(qǐng)求參數(shù)類型有三種:`application/x-www-form-urlencoded`、`multipart/form-data` 和 `application/json`(通常用于 `raw` 類型)。這三種類型主要指的是請(qǐng)求體中的數(shù)據(jù)格式,其中包括參數(shù)的傳遞方式和編碼。 1. **`application/x-www-form-urlencoded`:** ? ?- 這是默認(rèn)的編碼類型

    2024年02月02日
    瀏覽(28)
  • axios請(qǐng)求設(shè)置responseType為‘blob‘或‘a(chǎn)rraybuffer‘下載時(shí),正確處理返回值

    問(wèn)題:調(diào)用后臺(tái)圖片接口,后臺(tái)返回二進(jìn)制流圖片數(shù)據(jù)格式。前端接收到流后處理數(shù)據(jù)顯示在img標(biāo)簽。 解決: 1、設(shè)置axios接收參數(shù)格式為\\\"arraybuffer\\\": 2、轉(zhuǎn)換為base64格式圖片數(shù)據(jù)在img標(biāo)簽顯示: 返回的string直接放在img標(biāo)簽src可直接顯示 二、設(shè)置axios接收參數(shù)格式為\\\"blob\\\":

    2023年04月09日
    瀏覽(19)
  • 后端接口返回圖片(數(shù)據(jù)流)前端怎么處理(ArrayBuffer轉(zhuǎn)base64)【包含PC以及小程序】

    后端接口返回圖片(數(shù)據(jù)流)前端怎么處理(ArrayBuffer轉(zhuǎn)base64)【包含PC以及小程序】

    MDN-前端必看網(wǎng)站 #最后如果axios的封裝時(shí)有封裝響應(yīng)攔截器,如下: 要給這個(gè)if判斷的條件做補(bǔ)充 這里放axios官網(wǎng)的請(qǐng)求配置中 responseType 可選值參考(封裝axios必須了解) axios官網(wǎng)地址

    2024年02月14日
    瀏覽(27)
  • 前端將后端數(shù)據(jù)流轉(zhuǎn)為圖片(微信小程序)

    獲取后端流的請(qǐng)求responseType必須使用arraybuffer 將后端數(shù)據(jù)劉轉(zhuǎn)換為base64再轉(zhuǎn)換為本地圖片 html與data

    2024年02月15日
    瀏覽(24)
  • 談?wù)劊篎ile、Blob、FileReader、ArrayBuffer、base64

    談?wù)劊篎ile、Blob、FileReader、ArrayBuffer、base64

    JavaScript 提供了一些 API 來(lái)處理文件或原始文件數(shù)據(jù),例如:File、Blob、FileReader、ArrayBuffer、base64 等。下面就來(lái)看看它們都是如何使用的,它們之間又有何區(qū)別和聯(lián)系。 1. Blob Blob全稱為binary large Object 即二進(jìn)制大對(duì)象,他是js中的一個(gè)對(duì)象,表示原始類似文件的數(shù)據(jù)。MDN中的解

    2024年02月09日
    瀏覽(18)
  • 前端下載 Blob 類型整理

    文件流下載轉(zhuǎn)Blob時(shí)類型匹配,例如: Blob配置類型如下表所示,詳細(xì)介紹 后綴名 文件類型 類型(type) .xls Microsoft Excel application/vnd.ms-excel .xlsx Microsoft Excel (OpenXML) application/vnd.openxmlformats-officedocument.spreadsheetml.sheet .csv CSV text/csv .doc Microsoft Word application/msword .docx Microsoft Word (

    2024年02月17日
    瀏覽(22)
  • Java中GET請(qǐng)求與POST請(qǐng)求,前端傳參與后端接收實(shí)例

    Java中GET請(qǐng)求與POST請(qǐng)求,前端傳參與后端接收實(shí)例

    此示例以代碼方式展現(xiàn),可直接結(jié)合controller層每個(gè)接口上方注釋與其接口傳遞參數(shù)方式理解! 前端傳參直接就以apiPost工具來(lái)代替 apiPost調(diào)用后端接口幾種方式 ? 代碼: ?controller層: service層: mapper層: xml:

    2024年02月07日
    瀏覽(31)
  • 【SpingBoot】詳細(xì)介紹SpringBoot項(xiàng)目中前端請(qǐng)求到數(shù)據(jù)庫(kù)再返回前端的完整數(shù)據(jù)流轉(zhuǎn),并用代碼實(shí)現(xiàn)

    在SpringBoot項(xiàng)目中,前端請(qǐng)求到最終返回的完整數(shù)據(jù)流轉(zhuǎn)一般包括以下幾個(gè)步驟: 前端發(fā)送HTTP請(qǐng)求到后端Controller。 Controller接收到請(qǐng)求后,調(diào)用相關(guān)Service處理業(yè)務(wù)邏輯。 Service調(diào)用DAO層獲取數(shù)據(jù)。 DAO層訪問(wèn)數(shù)據(jù)庫(kù)獲取數(shù)據(jù)。 數(shù)據(jù)庫(kù)返回?cái)?shù)據(jù)給DAO層。 DAO層將數(shù)據(jù)返回給Servic

    2024年02月10日
    瀏覽(27)
  • vue 后端返回二進(jìn)制流-前端通過(guò)blob對(duì)象下載文件-圖片

    前言 在實(shí)際開(kāi)發(fā)中我們經(jīng)常會(huì)遇見(jiàn)下載文件的場(chǎng)景,比如下載合同,下載文件 下載文件有2種方式,一種是后端返回二進(jìn)制流,前端通過(guò)blob對(duì)象接受根據(jù)不同類型下載 還有一種把地址直接在瀏覽器新窗口打開(kāi)瀏覽器打開(kāi)pdf可以預(yù)覽和下載,其他文件直接下載 但不管是那種方

    2024年02月05日
    瀏覽(26)
  • 前端實(shí)現(xiàn)文件下載的方法;以及后端返回 blob 文件流,進(jìn)行展示。

    前端下載一般分為兩種情況,一種是后端直接給一個(gè)文件地址,通過(guò)瀏覽器打開(kāi)就可以下載,另外一種則需要發(fā)送請(qǐng)求,后端返回二進(jìn)制流數(shù)據(jù),前端解析流數(shù)據(jù),生成URL,實(shí)現(xiàn)下載。 通過(guò)a標(biāo)簽的download屬性來(lái)實(shí)現(xiàn)文件下載,這種方式是最簡(jiǎn)單的,也是比較常用的方式,先來(lái)

    2024年02月06日
    瀏覽(27)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包