中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Ajax如何實現發送和接收二進制字節流數據

發布時間:2021-08-30 15:54:43 來源:億速云 閱讀:168 作者:小新 欄目:web開發

這篇文章主要介紹Ajax如何實現發送和接收二進制字節流數據,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

HTML5 Ajax 2.0標準中,增強了Ajax的許多功能,包括發送FormData數據,上傳數據進度條等諸多功能。但實際上,Ajax可以字節發送二進制數據。

發送二進制數據

var oReq = new XMLHttpRequest();
oReq.open("POST", url, true);
oReq.onload = function (oEvent) {
// Uploaded.
};
var blob = new Blob(['abc123'], {type: 'text/plain'});
oReq.send(blob);

或者

var myArray = new ArrayBuffer(512);
var longInt8View = new Uint8Array(myArray);
for (var i=0; i< longInt8View.length; i++) {
longInt8View[i] = i % 255;
}
var xhr = new XMLHttpRequest;
xhr.open("POST", url, false);
xhr.send(myArray);

接收二進制數據

var oReq = new XMLHttpRequest();
oReq.open("GET", "/myfile.png", true);
oReq.responseType = "arraybuffer";
oReq.onload = function (oEvent) {
var arrayBuffer = oReq.response; // Note: not oReq.responseText
if (arrayBuffer) {
var byteArray = new Uint8Array(arrayBuffer);
for (var i = 0; i < byteArray.byteLength; i++) {
}
}
};
oReq.send(null);

當然,如上設置只能是文本類型,如果是Blob類型,那么如下即可

var oReq = new XMLHttpRequest();
oReq.open("GET", "/myfile.png", true);
oReq.responseType = "arraybuffer";
oReq.onload = function(oEvent) {
var blob = new Blob([oReq.response], {type: "image/png"});
// ...
};
oReq.send();

或者

var oReq = new XMLHttpRequest();
oReq.open("GET", "/myfile.png", true);
oReq.responseType = "blob";
oReq.onload = function(oEvent) {
var blob = oReq.response;
// ...
};
oReq.send();

如果你使用的是舊版本的瀏覽器,那么加載二進制可以如下

function load_binary_resource(url) {
var req = new XMLHttpRequest();
req.open('GET', url, false);
//XHR binary charset opt by Marcus Granado 2006 [http://mgran.blogspot.com]
req.overrideMimeType('text\/plain; charset=x-user-defined');
req.send(null);
if (req.status != 200) return '';
return req.responseText;
}

注意:x-user-defined告訴瀏覽器不要解析數據

以上是“Ajax如何實現發送和接收二進制字節流數據”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

兖州市| 汾西县| 理塘县| 长岭县| 连城县| 高碑店市| 房产| 彰武县| 铜川市| 德清县| 堆龙德庆县| 东安县| 乡宁县| 弋阳县| 南郑县| 曲阳县| 宝山区| 枝江市| 云浮市| 镇沅| 舒城县| 郧西县| 岳阳市| 乐业县| 玛曲县| 阿克苏市| 呼伦贝尔市| 武夷山市| 清流县| 扶余县| 平遥县| 哈密市| 莱芜市| 元朗区| 古田县| 萨迦县| 平武县| 社会| 罗山县| 马龙县| 辽阳县|