700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > python form表单上传服务器文件_如何使用multipart/form POST将文件上传到需要上载

python form表单上传服务器文件_如何使用multipart/form POST将文件上传到需要上载

时间:2023-12-26 01:15:42

相关推荐

python form表单上传服务器文件_如何使用multipart/form POST将文件上传到需要上载

是否有机会通过API端点上传文件,该端点将多部分/表单数据作为只有该文件URL的内容类型?在

规则:

将整个文件下载到内存中,然后由这个端点上传不是一个选项(不能保证这个盒子会足够大来容纳一个临时文件)。在

问题:

我想将文件分块从一个服务器(GET)流到另一个服务器(multipart/formdatapost)。这可能吗?如何做到这一点?在

流量:

文件服务器<-GET-my_脚本.py-上传后服务器

下面是下载到内存(RAM)选项的一个简单示例(但这违反了规则):from io import BytesIO

import requests

from requests_toolbelt.multipart.encoder import MultipartEncoder

file_url = '/wp-content/uploads/features/itam/image-banner-asset.png'

requested_file_response = requests.get(file_url, stream=True)

TOKEN_PAYLOAD = {

'grant_type': 'password',

'client_id': '#########',

'client_secret': '#########',

'username': '#########',

'password': '#########'

}

def get_token():

response = requests.post(

'https://upload_server/oauth/token',

params=TOKEN_PAYLOAD)

response_data = response.json()

token = response_data.get('access_token')

if not token:

print("token error!")

return token

token = get_token()

file_object = BytesIO()

file_object.write(requested_file_response.content)

# Form conctent

multipart_data = MultipartEncoder(

fields={

'--': (

'test.png',

file_object # AttributeError: 'generator' object has no attribute 'encode' when I try to pass generator here.

),

'id': '2217',

'fileFieldDefId': '4258',

}

)

# Create headers

headers = {

"Authorization": "Bearer {}".format(token),

'Content-Type': multipart_data.content_type

}

session = requests.Session()

response = session.post(

'https://upload_server/multipartUpdate',

headers=headers,

data=multipart_data,

)

答案是在一个类似于文件的对象创建中,用于流的目的

非常感谢你的帮助。干杯!在

python form表单上传服务器文件_如何使用multipart/form POST将文件上传到需要上载的文件的URL(chunks)...

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。