【问题标题】:jQuery file upload to django request.FILES using jQuery.get?使用 jQuery.get 将 jQuery 文件上传到 django request.FILES?
【发布时间】:2010-09-27 01:14:00
【问题描述】:

我需要更改以下代码以将文件传递给 django request.Files 对象。目前我将文件位置传递给 django 并允许它打开文件,不幸的是,由于新的荒谬设置在石网络限制 django 将不再有权访问其服务器之外的任何内容。

我传递的参数来自各种 html 文本输入和文件选择。

我很想改变一点点,但如果没有其他办法呢?

<script type='text/javascript'>
$(document).ready(function() {

jQuery.get(importUrl,
{
    "file":fileInputData,"dir":dirInputData,
    "year":thisSurvey,"import":thisImport,
    "startDate":startDate,"endDate":endDate
},

function(data)
    {
    jQuery.jGrowl(data,{sticky:true,header:"Import Result"});
    }
);
});
</script>

【问题讨论】:

    标签: jquery django


    【解决方案1】:

    您不能使用 Ajax 上传文件,有一些脚本可以执行此操作,但它们使用 iframe 提交数据(其中发生了真正的表单提交)。见How can I upload files asynchronously?

    我真的不明白您所说的“django 将无法再访问其服务器之外的任何内容”是什么意思。文件上传的限制是防止应用程序在客户端计算机上读取和写入文件。基本上所有上传都必须来自真实的&lt;input type="file" name="file"&gt;。要在 Django 中访问上传文件的数据,请使用 request.FILES['name_of_the_file_input']。

    【讨论】:

    • "django 将无法再访问其服务器之外的任何内容。"在公司网络上,与 Django 无关,而与我公司的新政策有关。
    • iframe 解决方案很好,但它需要对我的代码进行根本性的更改,这很烦人。我真的希望避免它。嗯嗯。
    猜你喜欢
    • 2015-04-12
    • 1970-01-01
    • 2011-01-01
    • 1970-01-01
    • 2012-05-19
    • 2011-11-09
    • 2012-04-25
    • 1970-01-01
    • 2018-12-30
    相关资源
    最近更新 更多