1. Илья

    28.07.2010

    1 ↑
    0 ↓
    Загрузка файла происходит таким образом (код view)
    wrapper = FileWrapper(file(filename, mode))
    response = HttpResponse(wrapper, content_type = content_type)
    response['Content-Disposition'] = 'attachment; filename=%s' % os.path.split(filename)[-1]
    return response
    Такой код работает нормально, но если добавить следующую строку
      
    response['Content-Length'] = os.path.getsize(filename)
    то в хидере HTTP будет указан content-type = 0
    Server WSGIServer/0.1 Python/2.6.5
    Content-Type application/x-tar
    Content-Disposition attachment; filename=backup.tar
    Content-Length 0
    Даже если вместо os.path.getsize(filename) указать просто любое число, то все равно в хттп заголовке вернется ноль.
  2. А код ответа какой у вас? if 100 <= response.status_code < 200 or response.status_code in (204, 304) - это не ваш случай?

  3. Илья

    31.07.2010

    0 ↑
    0 ↓
    код ответа 200
  4. krevedko

    02.08.2010

    0 ↑
    0 ↓

    а какой веб сервер стоит перед джангой? может он что колдует с заголовком?

Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.