带有海报的Python分段文件上传-设置要发送的文件名

问题描述 投票:0回答:1

我尝试使用以下代码(已总结)上载文件。

在服务器端,当我检查接收到的文件的名称时,我看到它已设置为file_path参数。

目前,发布者库采用我输入的file_path参数(例如:file_path =〜/ user / data.csv),并在文件分段上传期间将其作为文件名发送。

我正在寻找一种方法来更改正在发送的文件名(因为服务器希望文件名不带/ char)

提前感谢。

P.S。我已经尝试将“名称”键添加到值中,但没有帮助。

values = {'file': open(file_path, 'rb')}

poster.streaminghttp.register_openers()

datagen, headers = poster.encode.multipart_encode(values)

# Create the Request object
request = urllib2.Request(address, datagen, headers)
python multipartform-data urllib2 poster
1个回答
0
投票

我设法使用以下代码解决了这个问题:

    f = open(file_path, constants.READ_FILE_BINARY_MODE)
    mp = MultipartParam("file", fileobj=f, filename="file.csv")

    values = {"file": mp,
              constants.AUTHORIZATION_HEADER_KEY: constants.AUTHORIZATION_HEADER_VALUE % self.__token,
              constants.CACHE_CONTROL_HEADER_KEY: constants.CACHE_CONTROL_NEGATIVE_VALUE
              }

    poster.streaminghttp.register_openers()

    datagen, headers = poster.encode.multipart_encode(values)

    # Create the Request object
    request = urllib2.Request(address, datagen, headers)
© www.soinside.com 2019 - 2024. All rights reserved.