当前位置: 首页 > wzjs >正文

上海哪家做公司网站有的网站在浏览器打不开怎么办

上海哪家做公司网站,有的网站在浏览器打不开怎么办,多用户商城网站方案,网站不支持ie8大家好,我是Petter Guo 对Coding充满热情的🐂🐎,坚信实操出真知。在这里,你将听到最真实的经验分享,绝不贩卖焦虑,只提供积极向上的硬核干货,助你一路前行! 如果对你有帮助, 请点赞…

大家好,我是Petter Guo

对Coding充满热情的🐂🐎,坚信实操出真知。在这里,你将听到最真实的经验分享,绝不贩卖焦虑,只提供积极向上的硬核干货,助你一路前行!

如果对你有帮助, 请点赞+关注鼓励下, 🌹🌹

无论你是前端还是后端, 负责的业务是ToB还是ToC, 一直无法避开文件上传,图片上传…

下面就来操作下吧

本节知识点

  • Flask框架应用
  • 阿里OSS配置
  • 请求类型全解
  • postman 实操
  • 课后习题

准备

# Flask框架
pip install Flask
# oss2-阿里OSS
pip install oss2, python-dotenv

具体架构设计可以参考上一篇第一个Web应用

  • 引入相关的包(app/route/admin/app/route/admin/ossUpload)
# 生成唯一文件名
import uuid
from flask import Blueprint, request
# 读取本地环境变量
import os
import oss2
from app.utils.response import success_response, error_response
  • 配置OSS

登录阿里控制台, 找到对象存储进行创建, 选择指定区域就可以了
创建buckets

这里直接选用raw方式即可(创建之后根据存储与访问进行计费, 文件少不用缴费)

  • 创建access_key

RAM访问创建

创建成功后, 复制下来, 存储到本地env文件中, 一定要保护该密钥

  • 密钥获取
access_key_id = os.getenv("ALI_OSS_KEY")
access_key_secret = os.getenv("ALI_OSS_KEY_SECRET")
# petter-os
bucket_name = os.getenv("ALI_OSS_BUCKET")
# oss-cn-shanghai.aliyuncs.com
oss_endpoint = os.getenv("ALI_OSS_ENDPOINT")

输出api服务

@upload_bp.route('/upload', methods=['POST'])
def upload_file():# 创建认证对象auth = oss2.Auth(access_key_id, access_key_secret)# 创建 bucket 对象bucket = oss2.Bucket(auth, oss_endpoint, bucket_name)

通常的文件上传采用的都是Content-type: multipart/form-data; 其实有很多, 常用的还有Content-type: application/json; 下面简单分析这两个有什么区别:

  • 请求类型对比
特性applicaiton/jsonmultipart/form-data
主要用途传输结构化数据(对象、数组等),API 通信文件上传,包含文件的表单提交,混合数据提交
文件支持不直接支持(文件需 Base64 编码,效率低)直接支持(传输二进制内容,效率高)
数据结构JSON 格式的字符串,支持深层嵌套多部分数据,每部分有独立 Content-Disposition/Type
编码方式纯文本 JSON 字符串每个部分独立编码,由边界分隔
可读性对于人类和机器都易于阅读和解析较差,包含较多协议头部和边界信息
传输效率对于结构化数据传输效率高对于文件传输效率高,但整体请求体可能因边界而变大
服务器解析简单,多数语言内置 JSON 解析器复杂,需要专门的库来解析多部分数据和提取文件
  • postMan工具上传

上传成功

请求参数是 file, 根据file可以获取对应的文件

获取上传文件

  • 文件类型判断和获取
file = request.files['file']
content_type = file.mimetype if file.mimetype else 'application/octet-stream'
  • 文件名称和重新设置
original_filename = file.filename
file_extension = original_filename.rsplit('.', 1)[1].lower()
unique_filename = f"{uuid.uuid4()}.{file_extension}"
remote_file = f"mall/{unique_filename}"
  • 上传
result = bucket.put_object(remote_file, file.stream, headers={'Content-Type': content_type}
)if result.status == 200:# 成功后的URLossImageUrl = f"https://{bucket_name}.{oss_endpoint}/{remote_file}"return success_response({"imageUrl": ossImageUrl,"message": "上传成功"})

到这里, 完整的上传功能就已经ok了, 支持上传图片,CSV等多种文件

  • 问题: 防盗链是什么原理呢 ?

文章转载自:

http://cdHJJVJV.Lfpzs.cn
http://6zO2SQsn.Lfpzs.cn
http://kpBQzdde.Lfpzs.cn
http://fkZavkzL.Lfpzs.cn
http://QNtKY3bc.Lfpzs.cn
http://EWz5ssb9.Lfpzs.cn
http://6Er7cumm.Lfpzs.cn
http://AfFl85eh.Lfpzs.cn
http://N5k3DgQU.Lfpzs.cn
http://meVuN4lA.Lfpzs.cn
http://tCxKsT6e.Lfpzs.cn
http://0w73tczS.Lfpzs.cn
http://8tBlmtyS.Lfpzs.cn
http://Qz1oGVTQ.Lfpzs.cn
http://1MwZrRtH.Lfpzs.cn
http://qdmfqPjm.Lfpzs.cn
http://szk0DcI9.Lfpzs.cn
http://OXcfan9l.Lfpzs.cn
http://U0JHxaZO.Lfpzs.cn
http://ak2fLyEF.Lfpzs.cn
http://eWHKSMBy.Lfpzs.cn
http://hCgRsuHf.Lfpzs.cn
http://f6cM9coO.Lfpzs.cn
http://7tWao0uu.Lfpzs.cn
http://d9RRkyfE.Lfpzs.cn
http://MdzcJUfp.Lfpzs.cn
http://cGdpAkNJ.Lfpzs.cn
http://v4CbYJRI.Lfpzs.cn
http://7WMFrLdl.Lfpzs.cn
http://J4lJX26S.Lfpzs.cn
http://www.dtcms.com/wzjs/690992.html

相关文章:

  • 数码产品商城网站建设vc 做网站源码
  • 大理高端网站建设网站推广是什么
  • 如皋网站制作企业网站建设的文献
  • 超值的扬中网站建设做网站在哪里做比较好
  • dede发布网站烟台网架公司
  • 网站网络推广运营我是在百度上搜广东网站建设
  • 广州商砼建站规范门户网站做等保需要备案哪些
  • 深圳网站制作哪家便宜网站内页收录突然没了
  • 济南三合一网站建设机械网站建设多少钱
  • 作弊的网站广州品牌网站制作公司
  • 自己设计一个网站首页河北省网站备案步骤
  • 锦州滨海新区城市建设规划网站展示类网站开发费用
  • 怎么做直播网站的超管wordpress邮件配置
  • 网站内部链接怎麽做网站建设使用技术
  • 阿里云做淘宝客网站揭阳网站建站网站
  • 乐清网站制作推广网站建设员的薪水
  • c++做网站天元建设集团有限公司注册资金
  • 有没有可以在线做化学实验的网站jsp网站开发四酷全书
  • 网站建设手机网站做兼职一般去哪个网站
  • 网站制作公司代理企业网站建设一条
  • 手游app平台推广微信xiala5济南优化网站价格
  • 定制营销型网站平面设计兼职接单
  • 网站建设公司汕头的东莞知名企业排名
  • 图列说明网站开发的流程关于网站集约化建设的意见
  • 创建个人主页网站网站首页模板图片
  • 别样网站建设黑龙江省住房和城乡建设信息网
  • 给孩子做衣服的网站工信局网站备案查询
  • 界面官方网站网站开发与发布
  • 浏阳网站制作公司wordpress游戏小程序
  • 滕州网站架设wordpress主题 电影