Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
上载IO错误(django文件浏览器)_Django_Apache_Uploadify - Fatal编程技术网

上载IO错误(django文件浏览器)

上载IO错误(django文件浏览器),django,apache,uploadify,Django,Apache,Uploadify,我在尝试使用使用uploadify的django filebrowser上载文件时遇到“IO错误” 我要澄清的是,当在OSX上使用Firefox4时,这是唯一不起作用的情况。 windows works上的IE8 此外,在使用本地开发服务器时,它也可以与Firefox配合使用 我还应该注意,我在uplodify自己的网站演示中得到了这个确切的错误 这是我从wireshark看到的: POST /djadmin/filebrowser/check_file/ HTTP/1.1 Host: xxx

我在尝试使用使用uploadify的django filebrowser上载文件时遇到“IO错误”

我要澄清的是,当在OSX上使用Firefox4时,这是唯一不起作用的情况。 windows works上的IE8

此外,在使用本地开发服务器时,它也可以与Firefox配合使用

我还应该注意,我在uplodify自己的网站演示中得到了这个确切的错误

这是我从wireshark看到的:

POST /djadmin/filebrowser/check_file/ HTTP/1.1
Host: xxx
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:2.0.1) Gecko/20100101 Firefox/4.0.1
Accept: application/json, text/javascript, */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip, deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Referer: xxx
Content-Length: 57
Cookie: csrftoken=xxx sessionid=xxx
Authorization: Basic xxx
Pragma: no-cache
Cache-Control: no-cache

UPBWID=fd.png&folder=%2Fdjadmin%2Ffilebrowser%2Fupload%2FHTTP/1.1 200 OK
Date: Thu, 26 May 2011 20:08:30 GMT
Server: Apache/2.2.9
Vary: Accept-Language,Cookie
Content-Language: el
Content-Length: 2
Connection: close
Content-Type: text/html; charset=utf-8

{}
据我所知,返回值{}是可以的

这是我从apache获得的唯一输出: xxx-user[26/May/2011:20:08:30+0000]POST/djadmin/filebrowser/check_file/HTTP/1.12002 xxx/djadmin/filebrowser/upload/Mozilla/5.0 Macintosh;英特尔Mac OS X 10.6;rv:2.0.1 Gecko/20100101 Firefox/4.0.1

我可以看到很多人都在经历同样的问题。 通常归咎于mod_安全性、mod_wsgi以及与浏览器/flash插件的模糊不兼容

我没有运行mod_security。 我正在使用mod_wsgi运行django,以老式方式上传文件没有任何问题


请帮忙

如果您没有发布post方法所需的csrf令牌,您可能会遇到问题。您可以使用@csrf_豁免装饰器,或者添加数据以上载。将{%csrf_token%}添加到表单中,并将表单序列化到postData设置中。对于第三版,我使用如下内容:

(function ($) {
    $.fn.serializeJSON = function () {
        var json = {};
        jQuery.map($(this).serializeArray(), function (n, i) {
            json[n['name']] = n['value'];
        });
        return json;
    };
})(jQuery);


$('#id_filefield').uploadify({
    'swf'  : '{{ STATIC_URL }}js/libs/uploadify/uploadify.swf',
    'uploader'    : '{% url 'upload_form' %}',
    'cancelImage' : '{{ STATIC_URL }}js/libs/uploadify/uploadify-cancel.png',
    'checkExisting' : false,
    'auto'      : true,
    'postData': $('#file_upload_form').serializeJSON(),
    'multi': true,
    'uploaderType': 'flash',
    'requeueErrors': false,
    'fileObjName': 'filefield',
    'fileSizeLimit': 1024000,
    'onSelect': function() { $('#id_filefield').uploadifySettings('postData',   $('#file_upload_form').serializeJSON()); },
    'onQueueComplete': function() { ajaxdialog.dialog('close'); },
  });

显然,你不想只是剪切粘贴这个,但它应该让你了解我在说什么。

我的帖子中显示的check\u file函数已经使用了csrf\u豁免装饰器。