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

Python multipart file uploading with poster - set the file's name that is being sent

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

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

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

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

提前致谢。

P.S。我已经尝试将 "name" 键添加到值中,但没有帮助。

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)

我已经使用以下代码成功解决了这个问题:

    f = open(file_path, "rb")
    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)