在使用Vue進行開發(fā)時,我們經常需要向后端請求數據,Vue的官方文檔中提供了一些常用的用于請求數據的方法,如get、post等等。但有時候,我們需要請求一些不常見的數據類型,比如raw類型的數據。
axios.get(url, { responseType: 'arraybuffer' }).then(res =>{ const data = new Uint8Array(res.data) // TODO: 處理數據 })
使用axios庫可以很容易地向后端請求數據,其get方法可以接受第二個參數 optionsConfig,我們可以設置該參數中的responseType屬性為'arraybuffer'來請求raw類型的數據。請求到的數據需要使用new Uint8Array()方法進行處理,處理后的數據才能被正常使用。
fetch(url, { method: 'GET', headers: { 'Content-Type': 'application/octet-stream', }, }).then(res =>{ return res.arrayBuffer(); }).then(buffer =>{ const data = new Uint8Array(buffer); // TODO: 處理數據 })
除了使用axios庫,fetch方法也可以向后端請求raw類型的數據。在請求時,需要設置headers中的Content-Type為'application/octet-stream',這表示請求的數據類型為二進制流。請求到的數據也需要使用arrayBuffer()方法進行處理,處理后的數據同樣需要使用new Uint8Array()方法轉換成正常可用的數據。
無論是使用axios還是fetch,處理raw類型的數據的方式都是一樣的,需要使用new Uint8Array()方法轉換成正常可用的數據。請求數據時,需要設置responseType屬性為'arraybuffer'或設置headers中的Content-Type為'application/octet-stream',這樣才能夠正確地請求并處理raw類型的數據。
上一篇vue添加字幕分屏