我正在尝试使用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编码字符串中的图像而不是相册中的图像?
感谢您的帮助。
罗伯特
答案 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