大文件传输主要技术瓶颈都有哪些?如何处理的?
关注者
338被浏览
102,886登录后你可以
不限量看优质回答私信答主深度交流精彩内容一键收藏
看到了就来回答一下,先说我知道的结论,算是抛砖引玉:
1.不是http的限制。以form-data上传为例,你可以在form-data里放任意大的东西。你的文件其实是被转化成二进制放在form-data里,然后传给服务器的
2.框架里可以设置每个request可接受的最大的大小,比如tornado,参数在
tornado.httpserver.HTTPServer(tornado_app(),max_buffer_size=MAX_BUFFER_SIZE)
用python 的tornado做了测试:
class UploadFile2OssHandler(CustomTornadoHandler):
executor = concurrent.futures.ThreadPoolExecutor()
@run_on_executor
def post(self):
"""
提交
"""
action = self.get_argument("action")
file_meta_list = self.request.files["file"]
file_full_name = file_meta_list[0]["filename"]
file_name = file_full_name.split(".")[0]
try:
folder_path = ""
if action == "upload_mt_csv_file":
folder_path = MT_MANAGEMENT_FOLDER_PATH
if not folder_path:
raise ValueError("上传参数错误,请更正")
oss_obj = CustomOss2()
time.time.sleep(200)
res = oss_obj.upload2oss(os.path.join(folder_path,file_full_name),file_meta_list[0]["body"],1)
logging.info(res)
except:
pass
最后的结果就是,