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)
我尝试使用以下代码(已总结)上传文件。
在服务器端,当我检查接收到的文件的名称时,我看到它被设置为 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)