【问题标题】:Upload image to imm.io via ajax通过ajax上传图片到imm.io
【发布时间】:2013-02-05 04:37:59
【问题描述】:

我正在尝试使用 php 和 ajax 创建一个网页,让用户使用其 API 将文件上传到imm

http://imm.io/api/(随便看看,只是一个简单的例子)

我想知道如何使用jquery动态上传,想法是重现下面的工作流程:

  1. 用户填写表格
  2. 当点击提交按钮时,它将获取表单值并将它们发送到 imm.io
  3. 等到收到 json 响应
  4. 显示更新 div 的错误/成功消息

我的代码:

var request = $.ajax({
      url: 'http://imm.io/store/',
      type: "POST",
      cache: false,
      data: { ??? },  //here my problem resides
      dataType: "json"
    });

    //waiting ultil the request be finished
    $.when( request ).then(function(data, textStatus, jqXHR){
        console.log(data);
    });

如果您在上面注意到,??? 表示问题所在,因为我不知道如何将文件值发送为“数据”所需的 json 格式。

在 SO 中看到一些问题,好像 ajax 无法发送文件。

所以,我只需要一只手来指导正确的方向......还有一件事:我从未使用过 CURL php 扩展,但我认为这可能是另一种选择,对吧?

编辑, 我忘了告诉你为什么我没有使用上面问题中提到的插件:因为插件不会等到请求完成,所以我从来没有得到服务器的真正响应。

【问题讨论】:

  • 你知道api是否支持(跨源)ajax帖子吗?看起来不像。
  • 文档不清楚,所以我不确定
  • @Musa,imm.io 接受 base64 上的图像。有用吗?
  • use toDataURL() to get the base64 representation (actually, it's a data: URL but it contains the base64-encoded image). 我认为这是正确的方法:p 我会尽快在这里更新,谢谢@Musa

标签: php ajax curl image-uploading


【解决方案1】:

我在此找到了一个很好的tutorial。还有jquery plugin

希望有所帮助;)

【讨论】:

  • 你用IE还是什么的?
  • @hek2mgl,该插件是否实现了类似于$.when() 的功能?我会测试它,但也许你可以提示我。
  • @Musa 听起来很酷!看起来我应该更新一些 js 基础知识.. 多年来主要编写后端代码.. :)
  • imm.io 不接受 ajax 请求。所以,我会找到另一个解决方案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-06
  • 1970-01-01
  • 2017-03-27
  • 2020-11-15
相关资源
最近更新 更多