0

我正在 iPhone 上开发一个应用程序。我的搭档给我发了这样的 curl 命令

curl -F "clothing_item[photo]=@dress1.jpg" -F "clothing_item[name]= pink_dress" http://www......com/shop_items.json?auth_token=abc_xyz_123

并要求我实现一个响应将图像上传到服务器的功能。我试试

forge.ajax({
    url: "http://www........com/shop_items.json",
    type: "POST",
    dataType: 'json',
    data: {
        "auth_token": token,
        "clothing_item[photo]": imageFile,
        "clothing_item[name]": id + "-" + d.getTime().toString()            
    },

    success: function(data) {

    },
    error: function(error) {

    }
});

使用 imageFile 是来自相机的文件。发帖成功,但是没有图片上传到服务器。

也试试:

forge.ajax({
    url: "http://www........com/shop_items.json",
    type: "POST",
    dataType: 'json',
    file:[imageFile];
    data: {
        "auth_token": token,
        "clothing_item[photo]": imageFile,
        "clothing_item[name]": id + "-" + d.getTime().toString()            
    },

    success: function(data) {

    },
    error: function(error) {

    }
});

但它不起作用。

任何建议表示赞赏

4

1 回答 1

1

这里有一些指南可以帮助您进行调试,尽管很难知道这里到底是什么问题。

  • 打开Charles Proxy并运行 iOS 模拟器。检查在clothin_item[photo] 字段上发布的内容
  • 使用Trigger.IO Catalyst远程调试器查看 Network 选项卡,并可能手动调用类似的请求
  • 从查看 ajax请求 API看来,密钥实际上是“文件”而不是“文件”。如果我理解正确,您不应该在另一个字段“clothing_item [照片]”上发布图像。此外(再次,如果我理解正确的话),二进制文件字段名称是“文件”,不能自定义。
于 2012-09-12T16:03:14.777 回答