Ajax文件上传,如何将多个对象发送到服务器

时间:2014-02-02 15:44:05

标签: javascript ajax

我有一个很好的应用程序,使用ajax发布到服务器上传图像,它很好,很容易,它很简单,看起来像这样:

  $.ajax({
            url: '/impulse/imageupload',
            type: 'POST',
            data: file,
            processData: false,
            cache: false,
            contentType: false
        })...additional success, done, failure functions

这个传入的文件已保存,这一切都很好,但是我注意到存在冲突,例如,如果我上传名为1.jpg的图像,则其他人上传名为1的图像。 jpg然后我的将被覆盖,这是不理想的。

所以我想知道如何传递更多然后只是文件,例如我想传入一个额外的变量(在这种情况下是一个唯一的用户名,所以我可以将其添加到图像名称并使用它来制作图像唯一的。

我尝试使用','来分隔数据但是这只是打破它,如何做到这一点的帮助将非常感激:)

TL:DR;如何将多个对象发布到服务器

1 个答案:

答案 0 :(得分:3)

您必须使用FormData个对象。并非所有浏览器都支持此功能。 请尝试以下链接:

https://developer.mozilla.org/en-US/docs/Web/Guide/Using_FormData_Objects?redirectlocale=en-US&redirectslug=Web%2FAPI%2FFormData%2FUsing_FormData_Objects