【发布时间】:2014-07-24 22:52:21
【问题描述】:
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 = {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.files 返回“未定义”。适用于原生 Android 程序和网络上传。
【问题讨论】:
-
console.dir(req.headers['content-type']);显示什么? -
rawHeaders: ['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;边界=+++++', 'files', 'file:/data/data/com.somevid/cache/Capture.avi', 'Data', 'Test', 'Data', 'param', 'User -Agent', 'Dalvik/1.6.0 (Linux; U; Android 4.4.2; SGH-I897 Build/KVT49L)', 'Accept-Encoding', 'gzip' ], 预告片: {}, rawTrailers: [],
-
Content-Length是 0?也许这就是为什么你没有在服务器上得到任何东西...... -
是的,我不完全确定。我选择使用原生安卓。它重量轻且有效。
-
感谢您查看此内容。当我再次尝试使用 Cordova 时,我会明白为什么内容长度实际上是 0。
标签: node.js file cordova multipartform-data transfer