适用于iPhone的FileUploader插件(PhoneGap)

时间:2011-02-01 13:59:58

标签: iphone cordova file-upload

我正在尝试使用PhoneGap FileUploader plugin将图片从iPhone上传到我的服务器

如何准确使用uploadByUri功能?我不明白所有参数......

FileUploader.prototype.uploadByUri("http://www.mysite.com/images/", imageURI,
params, fileKey, "myimage", "image/jpg", uploadSuccess, uploadFail, uploadProgress)

我对“params”和“filekey”使用了什么?自述文件说:

  
      
  • fileKey文件的参数名称
  •   
  • params Object with key:value params to send to server
  •   

现在我正在放null并且没有错误,但我的目标文件夹中没有图片。

另外,您知道我是否可以直接上传来自相机的base64编码字符串中的图像而不是相册中的图像?

感谢您的帮助。

罗伯特

3 个答案:

答案 0 :(得分:1)

fileKey是服务器期望的文件字段的名称。因此,如果您通过Web应用程序上传文件,则会有<input type="file" name="fileKey">,服务器将查找“fileKey”以获取文件数据。

我相信Params未使用。

上传base64编码的图像就像上传我假设的文本文件一样。在服务器上,您需要将其转换为图像文件。

答案 1 :(得分:1)

好吧,我花了3天时间才发现FileUploader没有进行ftp上传,而且服务器目标实际上不是文件夹而是服务器端脚本。我会回答我的问题以防其他人需要帮助。

这是一个用于保存FileUploaded'上传'图像的准系统php脚本。

<? 
// the actual uploaded image 
$uploaded_image = $_FILES['image']['tmp_name']; 
// the uploaded image name 
$uploaded_image_name = $_FILES['image']['name']; 
// location where you want to save the image 
$saved_image = "my_images/$uploaded_image_name"; 
// saves the image 
move_uploaded_file($uploaded_image, $saved_image); 
?> 

确保创建一个php文件所在的文件夹(本例中为“my_images”)。

要触发FileUploader插件:

window.plugins.FileUploader.uploadByUri("http://www.yourserver.com/your_php_script.php", your_actual_image, null, "image", "my_image.jpg", "image/jpg", uploadSuccess, uploadFail, uploadProgress); 

请注意,我的fileKey参数是“image”,因为我正在上传图片。这与$_FILES['image']['tmp_name']$_FILES['image']['name']相匹配。

确保在www文件夹中复制'fileUploader.js',但在Plugins文件夹中复制'fileUploader.h'和'fileUploader.m'。 (不要复制FileUploader文件夹本身)。

罗伯特

答案 2 :(得分:1)

只是为了更新。 Phonegap现在有一个文件api,它似乎与filuploader插件有关:http://docs.phonegap.com/en/1.5.0/phonegap_file_file.md.html