|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
使用form表单上传到mysql数据库后,input type为file,限定为图片,数据库中对应的格式为blob,但是我要拿出来的时候他给我的数据是一个b`图片名.jpg,查过了之后知道是二进制的一个图片名.jpg路径,我用的方法是<img src={{数据库中的数据}}>请问一下怎么才能把图片显示在前段网页上,还是说我一开始的上传方法就错了
一开始的上传方法就错了 img应该写入本地 数据库只存路径xxx.jpg字符串而不是blob
最终效果肯定是 <img src='/static/{{数据库中的数据}}'>
django有个bug 文件名不能包含百分号 提前告诉你这个坑
附送一个我以前写的上传
- def post(self,request):
- title = request.data.get("title",'')
- length = request.data.get("length",'')
- if request.FILES.get("file0") is None:
- return Response({"msg": '上传失败 无文件'})
- if int(length)<1 or int(length)>9:
- return Response({"msg": '上传失败 文件个数不匹配'})
- try:
- imgurl_list=[]
- for i in range(int(length)):
- file_obj = request.FILES.get('file'+str(i))
- #给图片拼接静态目录路径,并去掉图片文件名中可能含有的百分号。
- imgurl = os.path.join('static','img', str(int(time.time()+i)) + file_obj.name.replace("%",""))
- imgurl_list.append(imgurl)
- f = open(os.path.join(BASE_DIR, imgurl), 'wb')
- for chunk in file_obj.chunks():
- f.write(chunk)
- f.close()
- except:
- return Response({"msg": '储存过程失败 可以反馈给程序猿'})#一个chunk:2.5M
- else:
- imgurl_list_json = json.dumps(imgurl_list)
- models.Album.objects.create(title=title, imgurl=imgurl_list_json,imglen=length, motif=motif)
- return Response({"msg": '相册上传成功'})
复制代码
对应的前端也有独特的上传方式
代码太长了不贴了 可以看
https://nanarino.github.io/vue-upImg/
|
|