gpt4 book ai didi

node.js - 维梅奥 API : Upload from a File Using a Form

转载 作者:太空宇宙 更新时间:2023-11-03 23:26:24 25 4
gpt4 key购买 nike

我按照 vimeo node.js api 的文档上传文件。它非常简单,我通过直接在 Node 中运行它来使其工作,但它要求我传递要上传的文件的完整路径。代码在这里:

function uploadFile() {
let file = '/Users/full/path/to/file/bulls.mp4';
let video_id; //the eventual end URI of the uploaded video

lib.streamingUpload(file, function(error, body, status_code, headers) {
if (error) {
throw error;
}

lib.request(headers.location, function (error, body, status_code, headers) {
console.log(body);
video_id = body.uri;
//after it's done uploading, and the result is returned, update info
updateVideoInfo(video_id);
});
}, function(upload_size, file_size) {
console.log("You have uploaded " +
Math.round((upload_size/file_size) * 100) + "% of the video");
});
}

现在我想集成到我的react应用程序中生成的表单中,除了evt.target.files[0]的结果不是完整路径,结果是这样的:

File {name: "bulls.mp4", lastModified: 1492637558000, lastModifiedDate: Wed Apr 19 2017 14:32:38 GMT-0700 (PDT), webkitRelativePath: "", size: 1359013595…}

只是为了它,我将其通过管道传输到我已经工作的上传功能中,但由于指定的原因它不起作用。我错过了什么吗?如果不是,我只是想澄清一下我实际上必须做什么。所以现在我正在查看官方 Vimeo 指南,并想确保这是正确的道路。请参阅:https://developer.vimeo.com/api/upload/videos

所以,如果我没看错的话,您会提出几个请求来实现同一目标?

1) 对 https://api.vimeo.com/me 执行 GET 操作,找出他们拥有的剩余上传数据。

2) 向 https://api.vimeo.com/me/videos 发送 POST 以获得上传票证。如果我想要可断点续传的上传(例如 vimeo StreamingUpload() 函数提供的上传),请使用 type:streaming

3) 对 https://1234.cloud.vimeo.com/upload?ticket_id=abcdef124567890

执行 PUT 操作

4) 每当我想检查上传的字节数时,对 https://1234.cloud.vimeo.com/upload?ticket_id=abcdef124567890 执行 PUT,但不带文件数据和 header Content-Range: bytes */*

听起来不错吗?或者你可以简单地使用一个表格,但我在某个地方弄错了。让我知道。谢谢。

最佳答案

此项目中有一些示例代码可能值得查看:https://github.com/websemantics/vimeo-upload .

您的描述对于流系统来说基本上是正确的,但我想澄清最后两点。

3) 在此步骤中,您应该使用描述文件完整大小的 Content-Length header 向该 url 发出 PUT 请求(如下所述: https://developer.vimeo.com/api/upload/videos#upload-your-video )

4) 在此步骤中,您检查上传的字节的原因是您是否已完成上传,或者 PUT 请求中的连接是否中断。我们保存尽可能多的字节,然后我们将用收到的字节数来响应步骤 4 中的请求。这可以让您从上次中断的地方继续执行第 3 步,而不是从头开始。

为了稳定性,我们强烈推荐可续传 uploader ,但如果您追求简单性,我们确实提供了一个使用 HTML 表单的简单 POST uploader 。相关文档位于:https://developer.vimeo.com/api/upload/videos#simple-upload

关于node.js - 维梅奥 API : Upload from a File Using a Form,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43809892/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com