Django接收照片储存文件的实例代码
后端:
fromrest_framework.viewsimportAPIView fromcarimportsettings fromdjango.shortcutsimportrender,redirect,HttpResponse fromdalimportmodels fromdjango.httpimportJsonResponse importos BASE_DIR=os.path.dirname(os.path.dirname(os.path.abspath(__file__))) classImage(APIView): defpost(self,request): file_obj=request.FILES.get('send',None) print("file_obj",file_obj.name) file_path=os.path.join(BASE_DIR,'media','user/img',file_obj.name) print("file_path",file_path) withopen(file_path,'w')asf: forchunkinfile_obj.chunks(): f.write(chunk) message={} message['code']=200 returnJsonResponse(message)
前端ajax:
下面在看下在Django中接收文件并存储
首先是一个views函数的例子
defget_user_profiles(request): ifrequest.method=='POST': myFile=request.FILES.get("filename",None) ifmyFile: dir=os.path.join(os.path.join(BASE_DIR,'static'),'profiles') destination=open(os.path.join(dir,myFile.name), 'wb+') forchunkinmyFile.chunks(): destination.write(chunk) destination.close() returnHttpResponse('ok')
这是一个简单的接收客户端上传的头像文件并保存的例子,应该看过这个就已经大体会使用接收文件了
但是这里的filename是客户端上传的文件名,也可能是像下面这样的表单
如果不知道固定上传的文件名,想要客户端上传什么文件就以其上传的名字命名可以这么写
defget_user_profiles(request): ifrequest.method=='POST': ifrequest.FILES: myFile=None foriinrequest.FILES: myFile=request.FILES[i] ifmyFile: dir=os.path.join(os.path.join(BASE_DIR,'static'),'profiles') destination=open(os.path.join(dir,myFile.name), 'wb+') forchunkinmyFile.chunks(): destination.write(chunk) destination.close() returnHttpResponse('ok')
不过这个是通过输出request.FILES试出来的,不知道是否有更合适的方法。
总结
到此这篇关于Django接收照片储存文件的实例代码的文章就介绍到这了,更多相关Django储存文件内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。