首页 > 其他分享 >flask_上传图片

flask_上传图片

时间:2024-12-24 09:22:24浏览次数:8  
标签:Code name flask code file ERROR path 上传 图片

允许的文件扩展名:定义了允许上传的文件类型为 ['jpg', 'png', 'jpeg', 'gif']。
POST 请求处理:
从请求中获取上传的文件对象。
如果没有上传文件或文件名为空,则返回错误信息。
检查文件扩展名是否在允许的扩展名列表中,若不在则返回错误信息。
使用 uuid 生成唯一的文件名,避免文件名冲突。
构建保存文件的路径,路径为当前文件所在目录下的 upload/img/ 文件夹,并使用新生成的唯一文件名保存文件。
尝试保存文件到指定路径,成功后返回包含文件信息的成功响应;如果保存过程中发生异常,则返回错误信息。

# 导入类试图
from flask.views import MethodView
import uuid,os

class UploadFile(MethodView):
    Allowed_Extensions = ['jpg','png','jpeg','gif']
    def post(self):
        file = request.files.get('file')
        if not file:
            return jsonify({'code':Code.ERROR,'msg':code_desc[Code.ERROR]})
        file_name = file.filename
        if not file_name:
            return jsonify({'code':Code.ERROR,'msg':code_desc[Code.ERROR]})
        file_extension = file_name.split('.')[-1]
        if file_extension not in self.Allowed_Extensions:
            return jsonify({'code':Code.ERROR,'msg':code_desc[Code.ERROR]})
        new_file_name  = ''.join(str(uuid.uuid1()).split('-'))
        file_path = os.path.join(os.path.dirname(__file__),'upload/img/'+new_file_name+'.'+file_extension)
        try:
            file.save(file_path)
            return jsonify({'code':Code.OK,'msg':code_desc[Code.OK],'data':{'file_name':file_name,'file_path':file_path}})
        except Exception as e:
            return jsonify({'code':Code.ERROR,'msg':code_desc[Code.ERROR]})

标签:Code,name,flask,code,file,ERROR,path,上传,图片
From: https://www.cnblogs.com/luckyletop/p/18626523

相关文章

  • 【MATLAB源码-第262期】基于matlab的OFDM+QPSK多径信道下图片传输系统仿真,多径数目为5
    操作环境:MATLAB2022a1、算法描述在现代无线通信系统中,正交频分复用(OFDM)是一种广泛使用的技术。OFDM是一种多载波调制技术,通过将数据分割成多个低速率的数据流,并使用不同的子载波进行传输来提高系统的频谱效率。这种技术的一个显著优势是能够有效应对多径信道对信号的干扰,使......
  • hotspot-vue3 图片拖动划分热点区域 使用
    github地址https://github.com/shadow-Fiend/hotspot-vue3测试代码<template><divclass="interactive-image"><hotspot:image="image":zonesInit="zones":types="types":minSize="52":switchOpt......
  • flask框架垃圾识别工具箱毕设源码+论文
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、选题背景关于垃圾识别的研究,现有研究主要以垃圾的分类方式以及垃圾分类设施的改进为主,如垃圾桶颜色标识等方面的研究较多,专门针对垃圾识别工具......
  • flask框架景区推荐系统毕设源码+论文
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、选题背景关于景区推荐系统的研究,现有研究主要以旅游推荐的一般性研究为主,如热门旅游目的地推荐等,专门针对景区推荐系统涵盖多方面功能(如用户、......
  • html map area标签,图片热点区域
    <map>和<area>标签在HTML中用于定义图像映射。图像映射是一种在图像上定义多个热点(区域)的技术,每个热点可以是一个矩形、圆或者多边形,并且每个热点都可以链接到不同的URL或者执行不同的操作。下面是关于这两个标签的详细说明和示例:<map>标签<map>标签用于定义图像映射......
  • geoserver 上传sld文件后,格式变为ANSI,导致的一系列问题
    windows平台下,以geoserver-2.21.5默认样式dem为例,在修改其中的某个值为中文后,出现报错:UTF-8序列的字节无效先不管,点击保存后出现中文字体字符编码错误问题。到data_dir/styles找到对应的文件,发现sld文件变为ANSI格式(原是utf-8),另存为UTF-8格式后,重新查看样式发现编辑框中显示......
  • Python进阶之opencv图片和视频基本读取关闭
    opencv目录opencvpip下载图片基本读取关闭导入前提读取显示和关闭图片属性视频读取显示和关闭视频读取pip下载在终端下载已经修改pip源可直接下载,未修改为下面代码+-i镜像网址代码展示:pipinstallopencv-python==3.4.18.65pipinstallopencv-cont......
  • Python企业公寓后勤管理系统(Pycharm Flask Django Vue mysql)
    文章目录项目介绍和开发技术介绍具体实现截图开发技术开发与测试:设计思路系统测试可行性分析核心代码部分展示文章目录/写作提纲参考源码/演示视频获取方式项目介绍和开发技术介绍论文主要是对后勤管理系统进行了介绍,包括研究的现状,还有涉及的开发背景,然后还对系统......
  • 基于YOLO8水稻病虫害检测系统 水稻病虫害检测系统 YOLO目标检测算法 识别图片与视频支
    基于YOLO8的水稻病虫害检测系统水稻病虫害检测系统YOLO目标检测算法技术栈:yolo8+streamlit[1]可以识别图片与视频,也支持本地摄像头识别,图片识别支持统计检测到的物体数量,并返回到前端页面显示[2]可以通过UI界面动态调节模型置信度,可以动态选择模型权重[3]系统目录下......
  • Vue3封装一个Element的自定义上传组件
    封装一个ElementPlus的自定义上传组件写在前面,工作中要封装一个文件上传组件,想着以后肯定也能用得到,就给记录了下来文章通篇借鉴的是这位大佬的,有需要的可以去看看https://blog.51cto.com/u_15295608/3527047直接上代码:先看样式:就是这样子了!!!,这是个弹窗的形式,有空我再整......