flask接收文件请求并且存储文件
需要的包
import calendar,time,os
#上传文件
@app.route('/api/send/file',methods=['POST'])
def send_file():
file = request.files.get('file')
if file is None:
# 表示没有发送文件
return {
'message':"文件上传失败"
}
file_name = file.filename# print(file.filename)
# 获取前缀(文件名称)print(os.path.splitext(file_name)[0])
# 获取后缀(文件类型)print(os.path.splitext(file_name)[-1])
suffix = os.path.splitext(file_name)[-1]#获取文件后缀(扩展名)
basePath = os.path.dirname(__file__) # 当前文件所在路径print(basePath)
nowTime = calendar.timegm(time.gmtime())#获取当前时间戳改文件名print(nowTime)
upload_path = os.path.join(basePath, 'upload',str(nowTime))#改到upload目录下# 注意:没有的文件夹一定要先创建,不然会提示没有该路径print(upload_path)
upload_path = os.path.abspath(upload_path) # 将路径转换为绝对路径print("绝对路径:",upload_path)
file.save(upload_path + str(nowTime) + suffix)#保存文件
#http 路径
url = 'http://xxxx.cn/upload/'+ str(nowTime) + str(nowTime) + suffix
return {
'code':200,
'messsge':"文件上传成功",
'fileNameOld':file_name,
'fileNameSave':str(nowTime) + str(nowTime) + suffix,
'url':url
}
我的文件目录,是在服务器上,上传图片之后返回文件存储的url,可以通过网址直接访问,便于直接存入路径到数据库,避免直接在数据库存入文件。
上传文件之后