方案一:下面是复杂的写法:
方案二:下面是简单写法:
接下来给搭建讲解Flask如何接受图片文件,上面是复杂写法,下面是简单写法,二选一即可。
思路整理:接收图片->定义一个图片存放的位置->给图片重命名(为了唯一性)->保存操作->返回状态
方案一:下面是复杂的写法:basedir = os.path.abspath(os.path.dirname(__file__)) #定义一个根目录 用于保存图片用
import os,sys,random,string
from app import app,request,json,url_for
@app.route('/api/v1/ckeditorUpload',methods=['GET','POST'])
def editorData():
#生成随机字符串,防止图片名字重复
ran_str = ''.join(random.sample(string.ascii_letters + string.digits, 16))
#获取图片文件 name = upload
img = request.files.get('upload')
#定义一个图片存放的位置 存放在static下面
path = basedir+"/static/img/"
#图片名称 给图片重命名 为了图片名称的唯一性
imgName = ran_str+img.filename
#图片path和名称组成图片的保存路径
file_path = path+imgName
#保存图片
img.save(file_path)
#这个是图片的访问路径,需返回前端(可有可无)
url = '/static/img/'+imgName
#返回图片路径 到前端
return url
方案二:下面是简单写法:
思路:接收图片 ->定义保存路径->获取名称->保存操作
basedir = os.path.abspath(os.path.dirname(__file__)) #定义一个根目录 用于保存图片用
from app import app,request
@app.route('/api/v1/ckeditorUpload',methods=['GET','POST'])
def editorData():
#获取图片文件 name = upload
img = request.files.get('upload')
#定义一个图片存放的位置 存放在static下面
path = basedir+"/static/img/"
#图片名称
imgName = img.filename
#图片path和名称组成图片的保存路径
file_path = path+imgName
#保存图片
img.save(file_path)
#url是图片的路径
url = '/static/img/'+imgName
return url
到此这篇关于Flask接收上传图片方法实现的文章就介绍到这了,更多相关Flask接收上传图片内容请搜索易知道(ezd.cc)以前的文章或继续浏览下面的相关文章希望大家以后多多支持易知道(ezd.cc)!