В приложении приведен код, который загружает файл из браузера с использованием django 1.3 и Apache 2.2 с mod_xsendfile
@login_required
def sendfile(request, productid):
path = settings.RESOURCES_DIR
filepath = os.path.join('C:/workspace/y/src/y/media/audio/','sleep_away.mp3')
print "filepath",filepath
filename = 'sleep_away.mp3' # Select your file here.
print "Within sendfile size", os.path.getsize(filepath)
wrapper = FileWrapper(open(filepath,'r'))
content_type = mimetypes.guess_type(filename)[0]
response = HttpResponse(wrapper, content_type = content_type)
print "Within wrapper"
from django.utils.encoding import smart_str
response['X-Sendfile'] = smart_str(filepath)
response['Content-Length'] = os.path.getsize(filepath)
from django.utils.encoding import smart_str
response['Content-Disposition'] = 'attachment; filename=%s/' % smart_str(filename)
return response
Консоль показывает следующий размер файла, который имеет правильный размер. В пределах размера файла отправки 4842585
Но когда я загружаю / сохраняю файл, он показывает 107 КБ ... то есть 109 787 байт. Где я ошибаюсь.Почему он не загружает полный файл?