首页 > 解决方案 > 我可以创建一个大视频的字节数组的发布请求吗

问题描述

我有一个将近 300MB 的视频,我想将此视频以 javascript 文件中的字节数组的形式发送到服务器。有没有可用的解决方案?

以及在一次 AJAX 调用中应该发送多少数据才能使其高效工作并尽快发布数据?

我已经为此尝试了 AJAX 发布请求,但它显示 413 request entity too large 错误。

我的变量是:

  1. recorder.blob 包含视频数据
  2. ui8 包含视频二进制数据
  3. 结果包含 char 形式的二进制数据

这是我上传的代码

var uri = URL.createObjectURL(recorder.blob), xhr = new XMLHttpRequest();
xhr.open('GET', uri, false);
xhr.send();
URL.revokeObjectURL(uri);
let ui8 = new Uint8Array(xhr.response.length);
let results;

for (i = 0; i < xhr.response.length; ++i) {
    ui8[i] = xhr.response.charCodeAt(i);
    results += String.fromCharCode(ui8[i]);
}

$.ajax({
    url: "http://p80ee.mocklab.io",
    type: 'post',
    data: ui8,
    success: function (result) {
        console.log("Response : " , result);
    }
});    

标签: javascriptarraysvideo-streaming

解决方案


推荐阅读