如何使用 jquery 将视频直接从客户端浏览器上传到 Viemeo?

How to upload video directly from client browser to Viemeo using jquery?

我尝试使用 api 直接从浏览器将视频上传到 vimeo 帐户,视频详细信息已创建,但文件似乎 corrupted/upload 而不是 happens.This 是我的示例代码。

   var file = $(this).prop("files")[0];
       var formData = new FormData();
      formData.append("file_data", file);
    
                $.ajax({
                    url: "https://api.vimeo.com/me/videos/",
                    type: "post",
                    data: formData,
                    headers: {
                        "Authorization": "Bearer -----", 
                    },
                    processData: false,
                    mimeType: "multipart/form-data",
                    contentType: false,
                  
                }).done(function (response) {
                    
                               // Do something
                         
                       
                    }).complete(function (response) {
                       // Do something
               
                    }).fail(function (e) {
                    // Do something
                });

vimeo 视频列表显示空白缩略图 enter image description here

试试这段代码。我在这里做了一些修改:

var file = $(this).prop("files")[0];
var formData = new FormData();
formData.append("file_data", file);

$.ajax("https://api.vimeo.com/me/videos/", {
    type: "POST",
    headers: {
        "Authorization": "Bearer -----", 
    },
    data: formData,
    contentType: "multipart/form-data",     // changed this
    dataType: "json",

    crossDomain: true            // for CORS policy error
}).done((response) => {
    
    // Do something

}).fail((error) => {
    
    // Do something

}).complete(() => {

    // Do something

});

我更改了 contentType 并删除了 mimeType。我还删除了不必要的 processData 字段。