有没有办法通过公共链接从anyones dropbox下载文件并将其保存在我的服务器上,并带有节点js?我需要一种没有任何类型身份验证的方法。例如,我如何从这个ng-class
答案 0 :(得分:0)
如果您尝试下载需要身份验证的内容,那么您也必须在项目中进行身份验证。 - 没有办法。
如果链接是公开的,那么您可以尝试这样的事情(请注意,网址中的最后一个0更改为1):
def function:
obj=X()
print matrix
class X():
def __init__():
self.A = numpy.zeros([len(self.words), self.dcount])
for i, k in enumerate(self.words):
for d in self.wdict[k]:
self.A[i,d] += 1
global matrix
matrix = self.A
print matrix
# make some changes in self.A
.
.
.
if __name__ == "__main__":
function()
答案 1 :(得分:0)
在我的情况下,下一代码正常工作:
var link = "https://www.dropbox.com/s/dr1cit55idwi1m0/english_buisness_message.txt?dl=0"
var firstPart = link.split("=")[0];
link = firstPart + '=1';
var myFile = request(link).pipe(fs.createWriteStream('./dist/testtest.txt'));
myFile.write(resFull.data);
myFile.end(() => {
/..here is callback function../
})
答案 2 :(得分:0)
Dropbox响应不是文件本身,而是重定向到文件确实存在的最终网址,因此要避免获取空文件,您必须按照重定向 进行操作然后下载文件。使用https
库执行此操作的简单方法是:
var https = require('https');
var fs = require('fs');
// (...)
var myDropboxURL = 'https://www.dropbox.com/s/dr1cit55idwi1m0/english_buisness_message.txt?dl=1';
var file = fs.createWriteStream('path/to/the/dest/file');
var request = (url) => {
https.get(url, (response) => {
if (response.statusCode == 302) { // it's a redirect!
request(response.headers.location);
} else {
response.pipe(fp);
file.on('finish', () => {
file.close(() => {
// You may do something here
});
});
}
}).on('error', (err) => {
// Do something if the request fails
});
// Here we start the request
request(myDropboxURL);
正如其他答案所示,首先您还应该更改查询字符串,以便dl
为1
(这样您就可以获取文件而不是Dropbox的网络界面)。