-2

我想将文件下载到我的服务器并通过减号或保管箱 API 自动将其发送到在线存储(减号或保管箱),而不将下载的文件保存在我的服务器中。所以,它就像流式传输或管道 HTTP 连接。现在我正在使用 minus.com API,但它需要文件对象或本地文件作为参数。我不知道如何将 http 响应转换为文件对象。

有可能做到这一点吗?如果可能的话,怎么做?

概念 :

FILE_ON_ANOTHER_SERVER ----(http)---> MY_SERVER ----(http)----> ONLINE_STORAGE

谢谢

4

2 回答 2

0

您可以通过 read() 方法从响应中获取数据

response = urllib2.urlopen(request)

data = response.read()

变量数据具有来自响应的二进制数据。

现在您可以创建一个 StringIO 对象,它将数据作为文件之类的对象来处理。

import StringIO
datastream = StringIO.StringIO()
datastream.write(data)
datastream.seek(0)
#create dropbox client
client.put_file('/test', datastream)
于 2012-08-12T21:38:01.430 回答
0

urllib2.urlopen(url) 将返回一个类似文件的对象。您可以将其直接传递给您的减号 API 吗?请参阅http://docs.python.org/library/urllib2上的 urllib2 文档

于 2012-08-15T00:12:32.907 回答