2017-04-16 56 views
0

我正尝试使用Python将图像从保存箱下载到桌面。下面的脚本运行完成,没有问题,并在桌面上创建一个JPEG文件(大小约为200 KB)。但是,当我尝试打开它,我收到损坏的文件/预览无法读取文件错误信息:使用Python从DropBox下载图像

import requests 
from requests.auth import HTTPBasicAuth 
import shutil 


url = 'https://www.dropbox.com/rest_of_the_url' 
db_username = 'user_name' 
db_password = 'password' 

downloaded_file = requests.get(url, auth=HTTPBasicAuth(db_username, db_password)) 

dest_file = open('/Users/aj/Desktop/test.jpg', 'w+') 

dest_file.write(downloaded_file.content) 

我在做什么错在这里?

编辑:找到解决方案。它必须在Dropbox链接中使用'dl'参数。此参数需要被设置为0。

原文链接:

https://www.dropbox.com/s/3xujisscbp92to/2.jpg?dl=0 

需要将DL参数设置为1:

https://www.dropbox.com/s/3xujisscbpj92to/2.jpg?dl=1 
+0

您是否尝试打开该文件为文本?它究竟是什么? – jonrsharpe

+0

不 - 我没有。但是我挖了一点,找出了这个问题。好像我需要在下载链接结尾处更改“dl”参数。当您从保管箱中复制链接时,它最初设置为0.对我原来的帖子进行编辑,解释它。 – AJ87

+0

在下面的URL中“需要将dl参数设置为0:”,“dl”参数设置为1.它是什么?如果您确实有解决方案,您应该将其作为正确答案发布。 – mzjn

回答

0

找到了解决办法。它必须在Dropbox链接中使用'dl'参数。这个参数需要被设置为0。

原文链接:

https://www.dropbox.com/s/3xujisscbp92to/2.jpg?dl=0 

需要设置DL参数设置为1:

https://www.dropbox.com/s/3xujisscbpj92to/2.jpg?dl=1