我正在尝试使用jQuery File Upload Plugin
将文件上传功能集成到我的Django应用程序中,可以找到here。现在,我已经在模板中附加了csrf token
和输入标记:
<input id="fileupload" type="file" name="document" multiple
style="display: none;"
data-url="{% url 'upload' %}"
data-form-data='{"csrfmiddlewaretoken": "{{ csrf_token }}"}'>
但是,稍后在JS文件中,我想在此表单中附加一些额外信息。建议的方法是使用formData执行此操作,如下所示:
$("#fileupload").fileupload({
dataType: 'json',
formData: {employee_id: get_selected_employee()},
done: function (e, data) {
}
}
});
但是,此新数据不会附加到formData,后者已在模板中创建并包含csrf_token
。
如果我尝试在.fileupload
调用中附加csrf标记和employee_id,即使csrf标记似乎有效,我也会403 (CSRF token missing or incorrect)
。我无法将employee_id附加到模板中,因为它会动态更改。有没有人有任何想法?
答案 0 :(得分:0)
我动态地将数据附加到data-form-data
,所以看起来像这样:
data-form-data='{"csrfmiddlewaretoken": "{{ csrf_token }}", "employee_id": "<employee_id>"}'
但是,jQuery File Upload
我遇到了其他多个问题,因此决定切换到Dropzone,我花了3个小时来设置所有内容,而我花了3天时间尝试整合jQuery File Upload