【发布时间】:2015-03-29 14:31:51
【问题描述】:
我正在编写一个允许用户录制视频并通过他们的 api 将其上传到 youtube 的 cordova 应用程序。
如果我使用文件输入并通过
访问文件$('#file').get(0).files[0]
我收到一个file 对象,可以毫无问题地上传。
如果我录制视频,我会收到一个 medialist 对象。
然后我可以拨打window.resolveLocalFileSystemURL( video[0].localURL , success, fail);
在成功回调中,我收到一个文件列表对象。也不接受。
在这个filelistobject 上,我可以调用data.file(success,fail),它最终返回给我一个文件对象。但是在尝试上传到 youtube 时出现 308 错误。
我怀疑这与访问本地文件路径的权限有关。如果有人有这方面的经验,我很想听听解决方法。
这里是上传代码:
UploadVideo.prototype.ready = function(accessToken, video) {
this.accessToken = accessToken;
this.gapi = gapi;
this.authenticated = true;
$this = this;
function result(data){
function success(data){
data.name = "VID_20150329_160037.mp4";
console.log(data)
$this.uploadFile( data );
}
data.file(success)
}
function fail(data){
console.log(data)
}
window.resolveLocalFileSystemURL( video[0].localURL , result, fail);
//this.uploadFile( $('#file').get(0).files[0] );
// $('#button').on("click", this.handleUploadClicked.bind(this));
【问题讨论】:
-
en.wikipedia.org/wiki/HTTP_302 302 错误是重定向。这听起来像是指向不推荐使用的端点,或者身份验证无效并从端点重新路由。
-
但它正在使用这个文件对象 - $('#file').get(0).files[0]。所以它必须是关于文件编码的东西
-
嗨,这已经有一段时间了,但我目前正在开发一个小型应用程序,也尝试在录制视频后进行 Youtube 上传,尽管我正在使用角度/离子。您是否有机会对此进行回购以将其视为示例?
-
如何获取访问令牌?由于谷歌禁止在 HTTP/HTTPS 之外加载的政策,gapi.client.init 在 Cordova 中加载时永远不会返回请参阅:developers.google.com/api-client-library/javascript/start/…
标签: cordova meteor youtube-api youtube-javascript-api