【问题标题】:AJAX uploads issue in Django appAJAX 在 Django 应用程序中上传问题
【发布时间】:2011-06-30 08:10:27
【问题描述】:

我已按照here 发布的教程进行操作,以便在我的 Django 应用程序上上传 AJAX 文件。问题是它不起作用,我最接近这个问题的是发现 save_upload() 方法引发了以下异常: 'WSGIRequest' object has no attribute '阅读'。关于我做错了什么有什么想法吗?

编辑:我发现这仅适用于 Django 1.3。关于如何使其在 Django 1.2 中工作的任何想法?

【问题讨论】:

  • 您传递给 save_upload() 的上传参数是什么?
  • 我很想知道这方面是否有任何动静。你是说 WSGIRequest 在 Django 1.3 中可以接受 read() 吗?

标签: python ajax django


【解决方案1】:

我想我已经弄清了你的问题。

1) 您试图在请求对象上运行 .read(),这是不允许的。相反,您需要在 request.raw_post_data 上运行它。

2) 在运行 .read() 之前,它需要一个类文件对象,您需要将其从 str 转换为类文件对象。

试试这个:

import StringIO
output = StringIO.StringIO()
output.write(request.raw_post_data)

...现在您可以运行 output.read() 并获取所需的数据。

        #loop through, writing more of the file each time
        file_so_far = output.read( 1024 ) #Get ready....
        while file_so_far: #..get set...
          dest.write( file_so_far ) #Go.
          file_so_far = output.read( 1024 

【讨论】:

    猜你喜欢
    • 2017-11-27
    • 2011-08-20
    • 2011-04-24
    • 2015-03-05
    • 2018-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多