Node.js Cordova 3.5.0文件传输和#x2B;NodeJS(多部分/表单数据)上载问题
Cordova 3.5.0,文件传输插件Android js文件Node.js Cordova 3.5.0文件传输和#x2B;NodeJS(多部分/表单数据)上载问题,node.js,file,cordova,multipartform-data,transfer,Node.js,File,Cordova,Multipartform Data,Transfer,Cordova 3.5.0,文件传输插件Android js文件 var ft = new FileTransfer(); var options = new FileUploadOptions(); options.fileKey="files"; options.fileName=path.substr(path.lastIndexOf('/')+1); options.mimeType="video/mp4"; options.headers = {Connecti
var ft = new FileTransfer();
var options = new FileUploadOptions();
options.fileKey="files";
options.fileName=path.substr(path.lastIndexOf('/')+1);
options.mimeType="video/mp4";
options.headers = {Connection: "close"};
options.chunkedMode = false;
options.httpMethod = 'POST';
ft.onprogress = function(progressEvent) {
if (progressEvent.lengthComputable) {
loadingStatus.setPercentage(progressEvent.loaded / progressEvent.total);
} else {
loadingStatus.increment();
}
colsole.log(progressEvent.loaded / progressEvent.total);
};
ft.upload(path, uri, win, fail, options);
Node.JS服务器
app.post('/upload', function(req, res) {
console.log('upload req:'+util.inspect(req.files));
}
Console.log为req.file返回“未定义”。与本机Android程序和web上载配合使用很好。如果您使用的是ExpressJs(看起来您正在使用),那么您需要安装Multer中间件来处理多部分数据
什么是
console.dir(请求头['content-type'])代码>显示?原始标题:['X-Real-IP','192.168.0.161','X-Forwarded-For','192.168.0.161','X-Forwarded-Proto','http','Host','192.168.0.110','X-NginX-Proxy','true','Content Length','0','Content Type','multipart form data/form data;boundary=+','files','file:/data/data/com.somevid/cache/Captu关于avi、Data、Test、Data、param、User-Agent、Dalvik/1.6.0(Linux;U;Android 4.4.2;SGH-I897 Build/KVT49L)、Accept-Encoding、gzip、trailes:{}、rawtrailes:[],Content Length
是0?也许这就是为什么你在服务器上没有得到任何东西的原因……是的,我不完全确定。我选择了使用本机android。它重量轻而且有效。感谢你检查这个。当我再次尝试Cordova时,我会看到为什么内容长度实际上是0。