科尔多瓦文件传输插件未将视频上传到服务器
Posted
技术标签:
【中文标题】科尔多瓦文件传输插件未将视频上传到服务器【英文标题】:cordova File Transfer plugin not uploading video to Server 【发布时间】:2017-01-11 10:53:34 【问题描述】:我正在创建一个混合应用程序,我想在其中上传视频到 服务器。有时它会将视频上传到服务器,但大多数 time Plugin 显示上传进度到 99% 然后给出 成功回调中为 null。 提前致谢。 :-)
/********* OPENING CAMERA TO CPTURE VIDEO ***********/
function make_Video()
// capture callback
var captureSuccess = function(mediaFiles)
var i, len , video_path;
if(mediaFiles.length > 0)
for (i = 0, len = mediaFiles.length; i < len; i += 1)
video_path = mediaFiles[i].fullPath;
Upload_Video(video_path);
;
// capture error callback
var captureError = function(error)
console.log('Error Code: ' + error.code);
;
navigator.device.capture.captureVideo(captureSuccess, captureError, quality: 100,destinationType: Camera.DestinationType.FILE_URI );
/****************STORING VIDEO ON SERVER******************/
function Upload_Video(video_path)
var server = server_link; // MY SERVER LINK
var params = 'user_id':logged_in_user_id,'action':'update_intro_video';
if (server)
// Specify transfer options
$('#modal_first_line').text(0+" %"+" Uploaded");
$('#new_modal').show();
var options = new FileUploadOptions();
options.fileKey = "user_video";
options.fileName = video_path.substr(video_path.lastIndexOf('/')+1);
options.mimeType = "video/mp4";
options.chunkedMode = false;
options.httpMethod = "POST";
options.params = params;
// Transfer picture to server
var ft = new FileTransfer();
//progree bar
ft.onprogress = function(progressEvent)
if (progressEvent.lengthComputable) var perc = Math.floor(progressEvent.loaded / progressEvent.total * 100); $('#modal_first_line').text(perc+" %"+"
Uploaded"); else $('#new_modal').hide();
console.log("sorry! Upload Failed..."); ;
ft.upload(video_path, encodeURI(server) , function(data)
$('#new_modal').hide();
console.log("SERVER RESPONSE: " + JSON.stringify(data));
,
function(error)
$('#new_modal').hide();
console.log("sorry! Upload Failed...");
, options);
else
$('#new_modal').hide();
console.log("sorry! Can't Upload File.");;
【问题讨论】:
【参考方案1】:解决了。 问题出在服务器端。配置正在制作 麻烦。 post_max_size 设置为 8Mb,所以当视频限制 超过 8MB,服务器不允许保存视频。一世 将 post_max_size 增加到 100MB。增加 post_max_size ,我做了以下步骤 1.我在根目录下创建了一个文件.user.ini 2. 我在这个文件中放了以下代码 file_uploads = O post_max_size = 100M upload_max_filesize = 200M
Hope it will help someone.
【讨论】:
以上是关于科尔多瓦文件传输插件未将视频上传到服务器的主要内容,如果未能解决你的问题,请参考以下文章
无法使用 Cordova 文件传输插件上传到 SAP Content Server