从img URL转换为文件,通过ajax发送到服务器

时间:2016-03-26 15:16:06

标签: html ajax blob

我想将用户在文本框中输入的图片网址保存到我的服务器中。

到目前为止,我已经保存了像这样的用户的文件......

var myFormData;
document.getElementById("fileInput").onchange = function () {

      myFormData = new FormData();
      myFormData.append('uploadFile', $("#fileInput").prop('files')[0]);

      $.ajax({
          url: '/php/uploadFile.php', 
          type: 'POST',
          processData: false, 
          contentType: false, 
          dataType : 'text',
          data: myFormData, 
          success: function(response){
          },
          error: function(response){
          }
        });
    }
};

但是当然只有当用户通过type =“file”的输入选择时才会起作用,而我刚从其他SO帖子中了解到,出于安全原因,不可能以编程方式设置$的值(“#fileInput “).prop( '文件')[0​​]。

所以现在似乎要实现这一点,我需要某种方式将我拥有的img(例如http://www.imageexamples.com/image1.jpg)转换为文件,以便我可以将其附加到我的表单并通过ajax上传。听起来像是正确的方法吗?如果是这样的话,我一直在努力寻找其他人这样做的例子,所以非常感谢任何指针!

1 个答案:

答案 0 :(得分:0)

SOP会阻止您使用ajax从任意网站下载图片 你应该做的是将网址发送到服务器,让服务器下载并存储图像。