前端通过Python接口上传文件到阿里云OSS

it2022-05-05  155

最近在瞎折腾的时候,发现服务器带宽不够用了,本想升级一下带宽,但是看了看钱包还是算了,上OSS吧!所以就有了挖坑之路,,,

本文实现前端发送文件给服务器,由服务器上传到阿里云OSS,接口使用Python编写。阿里云官方也提供了JS直接上传的方法,但是为了练习一下Python,还是自己写接口吧 ,生命在于折腾  :)

先贴代码:

# -*- coding: utf-8 -*- import json import time from flask import request from flask import Flask from flask_cors import CORS import os import shutil import oss2 # 这些个 嘤嘤嘤 需要替换成自己的key,OSS控制台可以拿到 access_key_id = os.getenv('OSS_TEST_ACCESS_KEY_ID', '嘤嘤嘤') access_key_secret = os.getenv('OSS_TEST_ACCESS_KEY_SECRET', '嘤嘤嘤') bucket_name = os.getenv('OSS_TEST_BUCKET', '嘤嘤嘤') endpoint = os.getenv('OSS_TEST_ENDPOINT', '嘤嘤嘤') # 确认参数 for param in (access_key_id, access_key_secret, bucket_name, endpoint): assert '<' not in param, '请设置参数:' + param # 创建Bucket对象 bucket = oss2.Bucket(oss2.Auth(access_key_id, access_key_secret), endpoint, bucket_name) # 接收文件 app = Flask(__name__) @app.route('/', methods=['GET', 'POST']) def index(): # 上传文件到服务器 file = request.files.get('file') if file is None: return '没有检索到文件' else: # 上传文件到阿里云OSS res = bucket.put_object(file.filename, file) if res.status == 200: # 上传成功,获取文件带签名的地址,返回给前端 url = bucket.sign_url('GET', file.filename, 60) return json.dumps(url) if __name__ == '__main__': CORS(app, supports_credentials=True) app.run()

有疑问或错误之处欢迎留言交流!原文地址:http://blog.xuxiangbo.com/im-52.html


最新回复(0)