javascript - 使用Phonegap上传文件: File Transfer Error: request body stream exhausted

标签 javascript cordova file-transfer

所以我想做的是使用 fileTransfer 在 PhoneGap 中复制将图像上传到我的服务器(POST 方法)的过程。

出于测试目的,我使用了 Chrome 的 Postman Rest 客户端,这是有效的配置:

enter image description here

这是 Phonegap 的 JS 代码:

//imageData 是图像的 url (file:///var/mobile/...)

var options = new FileUploadOptions();
options.fileKey = "media";
options.fileName=imageData.substr(imageData.lastIndexOf('/')+1);
options.mimeType="image/jpeg";

var params = new Object();
params.category = "/api/v1/category/testcat/";
params.message = "Hello from iOS";
options.params = params;

var ft = new FileTransfer();
ft.upload(imageData, encodeURI("http://mydomain.com/api/v1/post/"), win, fail, options);

// win, fail

响应:

2014-03-25 23:30:46.582 StarterApp[6103:6107] FileTransferError {
    body = "";
    code = 3;
    "http_status" = 0;
    source = "file:///var/mobile/Applications/3FEF7630-C089-4DF3-9618-EF9EEE0AD6FE/tmp/cdv_photo_002.jpg";
    target = "http://mydomain.com/api/v1/post/";
}
2014-03-25 23:30:46.584 StarterApp[6103:6107] File Transfer Error: request body stream exhausted

任何帮助将非常非常感谢,因为我完全陷入困境:(

最佳答案

请按照下面提到的代码操作:

var options = new FileUploadOptions();
options.headers = {
Connection: "close"
}
var options = new FileUploadOptions();
options.chunkedMode = false;
options.fileKey="image";
options.fileName=global_URI.substr(global_URI.lastIndexOf('/')+1)+'.jpg';
options.mimeType="image/jpeg";
var params = new Object();
options.params = params;
params.user_id =userID;
params.group_id=groupId;
var url=encodeURI(ipAddress +"/add_content.php");
var ft = new FileTransfer();
ft.upload(global_URI,url,win, fail, options);

另外请告诉我您是在 ANDROID 还是 iOS 工作?因为您可能会在 Android 代码中遇到一些问题。

关于javascript - 使用Phonegap上传文件: File Transfer Error: request body stream exhausted,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22651074/

相关文章:

javascript - ReduxReducer - 正在调度但未保存到状态的对象数组

javascript - 设备收到 GCM Android 通知但未显示

javascript - 下载人物头像并在node.js中展示

c - 通过 UDP 传输文件内容后获取垃圾字符

javascript - JavaScript 中的原型(prototype)继承...我可以调用 "super"等价物吗?

javascript - asp.net如何自动更新文本输入

android - 如何使用卡在加载屏幕上的 iron-router 调试 meteor/cordova 应用程序?

java - 在两台计算机之间传输文件

javascript - 如果一个条件设置为 true 并且剩下的 ng-show 为 false,如何处理 AngularJS 中的多个 ng-show 和一个 ng-hide

javascript - 为桌面和移动设备打包 HTML5 应用程序?