Flask 实现简单的图片上传
上传 实现 简单 图片 Flask
2023-06-13 09:16:22 时间
通过使用Flask框架实现一个简单的图片上传工具,当用户提交图片后会自动将图片保存到upload目录下,代码如下
import os
from flask import Flask, request
import random
import string
import datetime
ALLOWED_EXTENSIONS = set(['rar', 'zip' ,'xls','xlsx','docx','doc','html','png', 'jpg', 'jpeg', 'gif'])
app = Flask(__name__)
app.config['UPLOAD_FOLDER'] = "./upload_file" # 将文件上传到当前目录
app.config['MAX_CONTENT_LENGTH'] = 32 * 1024 * 1024 # 限制只能上传16M的文件
html = '''
<!DOCTYPE html>
<form action="" method="post" enctype="multipart/form-data">
请求序号: {} <br><br>
下单日期: {} <br><br>
接收邮箱: <input type="text" id="email" name="email"><br><br>
需求描述: <textarea rows="5" cols="37" id="my_text" name="my_text" value=""></textarea><br><br>
上传文件: <input type="file" name="file"><br><br>
<b>----------------------------------------</b>
<br> 注: 多个文件请压缩为 .rar .zip 压缩包后上传<br>
<b>----------------------------------------</b><br><br>
<input type="submit" value="提交订单请求">
</form>
'''
ref_html = '''
<b>------------------------------------------------------</b>
<br>您的订单已提交,感谢您的支持 <br>
<b>------------------------------------------------------</b><br><br>
付款订单号: {} <br><br>
接收邮件地址: {} <br><br>
请使用微信支付,并备注该订单号,处理完成后会第一时间邮件发送给您! <br><br>
---> PS图片处理 10元 每张 <br>
---> 打印复印材料 0.5元 每张 -> 宿舍: 3号楼 2层 210自提 <br><br>
<img style="width: 200px;" src="./static/web.jpeg" />
'''
def GenPassword(length):
chars=string.ascii_letters+string.digits
return ''.join([random.choice(chars) for i in range(length)])
def allowed_file(filename):
return '.' in filename and filename.rsplit('.', 1)[1] in ALLOWED_EXTENSIONS
@app.route('/', methods=['GET', 'POST'])
def upload_file():
if request.method == 'GET':
this_uuid = GenPassword(20)
now_time = datetime.datetime.now().strftime('%Y-%m-%d %H:%M')
return html.format(this_uuid,now_time)
if request.method == 'POST':
ud = GenPassword(5)
try:
file = request.files.get("file")
email = request.form.get("email")
my_text = request.form.get("my_text")
if file == None or email == None or my_text == None:
return "接口错误"
if file and allowed_file(file.filename):
file.save(os.path.join(app.config['UPLOAD_FOLDER'], "{}_{}".format(ud,file.filename)))
print("*" * 200)
print("订单号: {} ---> 接收邮箱: {} ---> 文件名: {}_{} ---> 需求: {} \n\n".format(ud,email,ud,file.filename, my_text))
print("*" * 200)
return ref_html.format(ud,email)
except Exception:
pass
return "接口错误"
if __name__ == '__main__':
app.run()
相关文章
- Python 进行 SSH 操作,实现本地与服务器的链接,进行文件的上传和下载
- Spring Boot文件上传
- 电商收付通商户进件,调用OCR上传身份证、营业执照自动识别
- 微信小程序+SpringBoot实现文件上传与下载
- Qt开源网络库[8]-上传文件与超时处理
- 上传了ipa但iTunes Connect没有构建版本问题
- python通过ftp上传文件详解编程语言
- servlet实现文件上传数据增删该查详解编程语言
- java实现excel下载和上传的工具类详解编程语言
- ajaxFileUpload+struts2实现多文件上传(动态添加文件上传框)详解编程语言
- java实现把文件上传至ftp服务器详解编程语言
- MySQL数据库实现文件上传功能(mysql上传文件)
- MySQL轻松上传到OSS,高效存储管理(mysql上传oss)
- PHP实现图片简单上传
- 用js实现上传图片前的预览(TX的面试题)
- 利用discuz实现PHP大文件上传应用实例代码
- asp.netMVC实现简单的上传功能
- 使用php+apc实现上传进度条且在IE7下不显示的问题解决方法
- Asp.net图片上传实现预览效果的简单代码
- PHP设置图片文件上传大小的具体实现方法
- python定时采集摄像头图像上传ftp服务器功能实现
- codeigniter教程之多文件上传使用示例
- php实现上传图片生成缩略图示例
- Yii结合CKEditor实现图片上传功能
- php文件上传简单实现方法
- PHP实现ftp上传文件示例
- C#实现图片上传与浏览切换的方法
- PHP实现视频文件上传完整实例