#python笔记
def download(request,md5,filename):
the_file_name = os.path.join(urls.getPath(),md5,filename)
def file_iterator(file_name, chunk_size=2048):
with open(file_name,"rb") as f:
while True:
c = f.read(chunk_size)
if c:
yield c
else:
break
response = StreamingHttpResponse(file_iterator(the_file_name))
response['Content-Type'] = 'application/octet-stream'
response['Content-Length'] = os.path.getsize(the_file_name)
response['Content-Disposition'] = 'attachment;filename="{0}"'.format(filename)
return response
def upload(request):
md5 = request.POST['md5']
path = os.path.join(urls.getPath(), md5)
if os.path.exists(path):
pass
else:
result = {"result":False, "message":'申请的ID不存在'}
return HttpResponse(json.dumps(result), content_type="text/html")
try:
file = request.FILES['file']
except Exception:
result = {"result":False, "message":"上传文件为空!"}
return HttpResponse(json.dumps(result), content_type="text/html")
osType = platform.system()
try:
if osType == "Linux":
path = os.path.join(path, file.name.decode('gbk').encode('utf-8'))
else:
path = os.path.join(path,file.name)
except Exception:
result = {"result":False, "message":"文件名请不要用中文,或者使用IE上传中文名的文件!"}
return HttpResponse(json.dumps(result), content_type="text/html")
handle_uploaded_file(path,file)
result = {"result":True, "message":"上传成功!"}
return HttpResponse(json.dumps(result), content_type="text/html")