【发布时间】:2017-05-05 16:35:51
【问题描述】:
我按照 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(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 app中生成的一个表单中,除了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 发帖以获得上传票证。如果我想要可恢复的上传,例如 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,但没有文件数据和标题 Content-Range: bytes */* 任何时候我想检查上传的字节。
听起来对吗?或者你可以简单地使用一个表格,我在某个地方弄错了。让我知道。谢谢。
【问题讨论】:
-
如何在 http 调用中包含身份验证?
标签: node.js file-upload vimeo-api