干货!Flask接收上传图片方法

 接下来给搭建讲解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

不懂留言交流

发布了42 篇原创文章 · 获赞 19 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/weixin_38639882/article/details/82344891