Node.js VimeoAPI:使用表单从文件上载
我按照vimeo node.js api的文档上传了一个文件。它非常简单,我通过直接在节点中运行它来实现它,唯一的例外是它需要我传递想要上传的文件的完整路径。代码如下:Node.js VimeoAPI:使用表单从文件上载,node.js,file-upload,vimeo-api,Node.js,File Upload,Vimeo Api,我按照vimeo node.js api的文档上传了一个文件。它非常简单,我通过直接在节点中运行它来实现它,唯一的例外是它需要我传递想要上传的文件的完整路径。代码如下: function uploadFile() { let file = '/Users/full/path/to/file/bulls.mp4'; let video_id; //the eventual end URI of the uploaded video lib.streamingUpload(
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指南,想确定这条路走对了。见:
如果我读对了,你会提出几个要求来达到同样的目标吗
1) 进入https://api.vimeo.com/me
查找他们拥有的剩余上传数据
2) 向https://api.vimeo.com/me/videos
获取上传票证。如果我想要可恢复的上传,如vimeo streamingUpload()函数提供的上传,请使用type:streaming
3) 对https://1234.cloud.vimeo.com/upload?ticket_id=abcdef124567890
4) 对https://1234.cloud.vimeo.com/upload?ticket_id=abcdef124567890
但是没有文件数据和标题内容范围:bytes*/*
我想随时检查上传的字节
听起来对吗?或者你可以简单地用一个表格,我在什么地方弄错了。让我知道。谢谢。此项目中有一些示例代码可能值得查看: 您对流媒体系统的描述基本正确,但我想澄清最后两点 3) 在这一步中,您应该向该url发出一个PUT请求,请求中包含一个描述文件完整大小的
Content Length
头(如下所述:)
4) 在此步骤中,检查上载字节的原因是您是否已完成上载,或者PUT请求中的连接是否已断开。我们将尽可能多地保存字节,并在步骤4中响应请求。我们收到了多少字节。这使您可以继续执行第3步,即您停止的步骤,而不是从一开始
为了稳定性,我们强烈推荐可恢复的上传程序,但是如果您想要简单,我们提供了一个使用HTML表单的简单上传后程序。这里有相关的文档:如何在http调用中包含身份验证?