【问题标题】:File Upload error using phone gap and php使用电话间隙和php的文件上传错误
【发布时间】:2013-05-01 15:41:08
【问题描述】:

我正在尝试使用 phonegap 从 android Emulator 上传图像,同时将文件从模拟器传输到服务器中的 php 文件时出现文件传输错误。任何人都可以建议如何将图像文件从 android 模拟器上传到 php 脚本。

请给我一个解决方案。

下面是我使用的代码

console.log("File Upload Started");
var options = new FileUploadOptions();
options.fileKey="file";
options.fileName=imageData.substr(imageData.lastIndexOf('/')+1);
options.mimeType="image/jpeg";
var params = {};
params.value1 = "test";
params.value2 = "param";

options.params = params;
console.log("File Transfering Started");
var ft = new FileTransfer();
ft.upload(imageData, encodeURI("http://127.0.0.1/upload.php"), win, fail, options);

提前致谢

【问题讨论】:

  • 如果您发布为此编写的相关代码,我们可以帮助您解决问题。
  • console.log("文件上传开始"); var options = new FileUploadOptions(); options.fileKey="文件"; options.fileName=imageData.substr(imageData.lastIndexOf('/')+1); options.mimeType="图像/jpeg";变量参数 = {}; params.value1 = "测试"; params.value2 = "参数"; options.params = 参数; console.log("文件传输开始"); var ft = new FileTransfer(); ft.upload(imageData, encodeURI("127.0.0.1/upload.php"), win, fail, options);

标签: cordova jquery-mobile phonegap-plugins


【解决方案1】:

我认为您需要使用http://10.0.2.2 而不是http://127.0.0.1。这是因为当您在 Android 模拟器中运行该代码时,它会尝试访问 模拟器的localhost,而不是您的开发机器。 Android 人员知道这会发生,所以他们将10.0.2.2 作为外部开发机器的桥梁。

【讨论】:

  • 感谢您的回答 MBillau,让我尝试一下,当我尝试上传到我的开发服务器时,发生了同样的错误。我发布的代码是否正确?
  • 代码看起来是正确的,假设 imageData 是一个字符串并且是您要上传的图像的路径,并且假设您在其他地方定义了 winfail 函数.看看这里的“完整示例”:cordova.apache.org/docs/en/2.7.0/… 你能发布你的服务器日志和你的 logcat(如果它是 android)日志吗?我们应该试着弄清楚服务器是否被击中。
猜你喜欢
  • 1970-01-01
  • 2016-04-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多