python 实现图片上传接口开发 并生成可以访问的图片url
版本:python3.7
功能,开发一个用户访问的页面,支持图片上传,并将其保存在服务器。
项目结构:
app.py文件内容如下:
fromflaskimportFlask,Response,request,render_template
fromwerkzeug.utilsimportsecure_filename
importos
app=Flask(__name__)
#设置图片保存文件夹
UPLOAD_FOLDER='photo'
app.config['UPLOAD_FOLDER']=UPLOAD_FOLDER
#设置允许上传的文件格式
ALLOW_EXTENSIONS=['png','jpg','jpeg']
#判断文件后缀是否在列表中
defallowed_file(filename):
return'.'infilenameandfilename.rsplit('.',1)[-1]inALLOW_EXTENSIONS
#上传图片
@app.route("/photo/upload",methods=['POST',"GET"])
defuploads():
ifrequest.method=='POST':
#获取post过来的文件名称,从name=file参数中获取
file=request.files['file']
iffileandallowed_file(file.filename):
print(file.filename)
#secure_filename方法会去掉文件名中的中文
file_name=secure_filename(file.filename)
#保存图片
file.save(os.path.join(app.config['UPLOAD_FOLDER'],file_name))
return"success"
else:
return"格式错误,请上传jpg格式文件"
returnrender_template('index.html')
#查看图片
@app.route("/photo/.jpg")
defget_frame(imageId):
#图片上传保存的路径
withopen(r'C:/Users/Administration/Desktop/photo_ceshi/photo/{}.jpg'.format(imageId),'rb')asf:
image=f.read()
resp=Response(image,mimetype="image/jpg")
returnresp
if__name__=="__main__":
app.run(host='0.0.0.0',port=5000,debug=True)
index.html内容如下:
Upload 请上传图片文件
启动app.py文件后,我们先访问http://127.0.0.1:8002/photo/upload
1、页面如下:
2、我们先上传一张1001.jpg,提交后界面如下:
3、然后我们尝试通过图片url来访问这张图片:
搞定收工!
以上这篇python实现图片上传接口开发并生成可以访问的图片url就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。