【问题标题】:FileUploader plugin (PhoneGap) for iPhoneiPhone 的 FileUploader 插件 (PhoneGap)
【发布时间】:2011-02-01 13:59:57
【问题描述】:

我正在尝试使用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 文件的参数名称
  • 带有键的参数对象:要发送到服务器的值参数

现在我输入null 并没有出现任何错误,但我的目标文件夹中没有图像。

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

感谢您的帮助。

罗伯托

【问题讨论】:

    标签: iphone cordova file-upload


    【解决方案1】:

    fileKey 是服务器期望的文件字段的名称。因此,如果您通过网络应用上传文件,您将拥有一个 <input type="file" name="fileKey">,并且服务器将寻找“fileKey”来获取文件数据。

    我相信参数是未使用的。

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

    【讨论】:

    • 感谢您的回答,但我认为缺少一个词:“您将拥有一个,而服务器将拥有”。而且我仍然不明白 fileKey 是关于什么的。服务器期望什么字段?我已经指定了目标文件名('myimage')和源文件(imageURI)...
    • 哈哈,我在我的回答中加入了一些 html,但它删除了它!在 HTML 页面中,您将有一个带有 type="file" 和 name="fileKey" 属性的 input 元素。因此,如果您的服务器代码是从常规网页发布的,那么您的服务器代码将需要一条 POST 消息,其中包含由“fileKey”名称属性标识的文件数据。
    【解决方案2】:

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

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

    <? 
    // 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']

    确保将“fileUploader.js”复制到您的 www 文件夹中,但将“fileUploader.h”和“fileUploader.m”复制到您的 Plugins 文件夹中。 (不要复制 FileUploader 文件夹本身)。

    罗伯托

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-06-28
        • 2012-01-30
        • 1970-01-01
        • 2017-10-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-10-31
        相关资源
        最近更新 更多