Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js VimeoAPI:使用表单从文件上载_Node.js_File Upload_Vimeo Api - Fatal编程技术网

Node.js VimeoAPI:使用表单从文件上载

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(

我按照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应用程序中生成的表单中,除了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调用中包含身份验证?