查看了有关如何将文件从 S3 下载到本地磁盘的所有教程。我遵循了所有解决方案,他们所做的是将文件下载到服务器而不是客户端。我目前拥有的代码是
app.get('/download_file', function(req, res) {
var file = fs.createWriteStream('/Users/arthurlecalvez/Downloads/file.csv');
file.on('close', function(){console.log('done'); });
s3.getObject({ Bucket: 'data.pool.al14835', Key: req.query.filename }).on('error', function (err) {
console.log(err);
}).on('httpData', function (chunk) {
file.write(chunk);
}).on('httpDone', function () {
file.end();
}).send();
res.send('success')
})
Run Code Online (Sandbox Code Playgroud)
然后我如何将其发送给客户端,以便将其下载到他们的设备上?
运行下面的代码时,我得到了上述异常,但我不知道为什么或如何解决它。我很确定它来自
for(int node : adjacent(currentnode))
{
//System.out.println(adjacent(currentnode));
//System.out.println(node);
if (remainingnodes.contains(getNode(node)))
{
adjacent.add(node);
remainingnodes.remove(getNode(node));
//System.out.println(remainingnodes);
}
}
Run Code Online (Sandbox Code Playgroud)
getNode 只接受一个整数并返回相应的节点。在我在剩余节点中使用 getNode 之前,我过去没有得到异常。contains 但当时它正在删除组件,所以我不得不改变它,现在我得到了异常。
public int distance(int target, List<Integer> detectives)
{
List<Integer> adjacent = new ArrayList<>();
Set<Node<Integer>> remainingnodes = new HashSet<Node<Integer>>();
List<Integer> currentnodes = new ArrayList<>();
int distance = 0;
int i = 0;
currentnodes.add(target);
remainingnodes = graph.getNodes();
remainingnodes.remove(getNode(target));
while (detectives.size() != 0)
{
for (int currentnode : currentnodes)
{
for(int node : adjacent(currentnode))
{
//System.out.println(adjacent(currentnode));
//System.out.println(node);
if (remainingnodes.contains(getNode(node)))
{
adjacent.add(node);
remainingnodes.remove(getNode(node));
//System.out.println(remainingnodes); …Run Code Online (Sandbox Code Playgroud)