Phonegap文件上传:空请求正文和文件
Phonegap File Upload: Empty request body & files
尝试使用FileTransfer插件将amr文件从移动设备上传到具有Phonegap的服务器。
var uri = "./" + $scope.audio.src;
$scope.audio.release();
var options = new FileUploadOptions();
options.fileKey = "audio";
options.fileName = uri.substr(uri.lastIndexOf('/') + 1);
options.mimeType = "audio/AMR";
options.httpMethod = "POST";
options.chunkedMode = false;
console.log("Options:", options);
options.params = {
exhibitId: $scope.id,
title: $scope.title,
email: $scope.email
};
var ft = new FileTransfer();
ft.upload(uri, encodeURI("http://someurl.com/api/recording/create"),
$scope.uploadSuccess,
$scope.uploadFailure,
options
);
其中音频是媒体对象。
在服务器 (nodejs) 上检查时,请求对象的正文和文件属性为空,标头中的内容长度设置为 0。似乎文件未正确附加到请求。
这是因为您没有正确设置路径。您需要使用绝对路径才能执行此操作,您可以使用带有 fullPath 的 requestFile System 来获取此信息。
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0,
function(fileSystem){
fileSystem.root.fullPath;
});
相关文章:
- 正在传递JSONP标头's数据参数到另一个文件中的AJAX请求
- 请求准备一个文件并返回路径,允许用户在准备好时下载
- 显示IIS上javascript文件(SOAP请求)的XML响应
- Ajax调用返回当前html页面,而不是请求的文件
- 将任何CDN配置为只传递一个文件,无论请求的url是什么
- 是否可以缓存可下载的文件,并在XHR和非XHR请求之间共享该缓存
- YUI向json文件发出ajax请求
- 在PHP中检测AJAX请求来自哪个文件
- 需要帮助处理XML HTTP文件上载请求
- 使用CloudFront和AmazonS3,或者其他CDN,我可以将所有类似的请求发送到一个静态文件中
- 在同一主机上对PHP文件使用XMLHTTP请求的Javascript违反了同源策略
- 在ajax请求后重新呈现EJS文件
- Laravel&Dropzone.js文件请求
- 获取请求JS文件的网站的域
- 如何在Liferay serveResource(-,-)方法中从AJAX请求下载文件
- JSON请求返回.txt文件
- 正在删除配置文件请求
- 包含和条件与传统的多文件请求
- XMLHttpRequest发送文件请求对于大文件给出404错误
- 从一个页面上的多个文件请求数据