小编Yoc*_*oka的帖子

使用Dropzone.js问题将文件上传到Amazon S3

我正在尝试使用Dropzone.js将文件上传到S3服务

我使用本教程直接从客户端上传文件:

https://devcenter.heroku.com/articles/s3-upload-node-本教程不包含dropzone js的实现(这是一场噩梦)

流程非常简单:

  1. 从我的服务器询问亚马逊的签名
  2. 获取已签名的请求网址+来自亚马逊的预期文件网址
  3. 使用签名的请求网址覆盖dropzone.options.url
  4. 调用dropzone.processFile将文件上传到服务器

文件被上传到服务器,直到这里一切正常,当我试图查看文件时(在S3 Bucket界面中),似乎文件没有正确写入,我无法查看它.

根据源代码,使用FormData对象上传文件.

Dropzone.prototype.submitRequest = function(xhr, formData, files) {
  return xhr.send(formData);
}
Run Code Online (Sandbox Code Playgroud)

如果我更改源代码:

xhr.send(formData)
Run Code Online (Sandbox Code Playgroud)

xhr.send(files[0])
Run Code Online (Sandbox Code Playgroud)

一切都很好,但我失去了上传多个文件的能力.

这是dropzone配置:

{
   url: 'http://signature_url',
   accept: _dropzoneAcceptCallback,
   method: 'put',
   headers: {
      'x-amz-acl': 'public-read',
      'Accept': '*/*',
      'Content-Type': file.type
   },
   clickable: ['.choose-files'],
   autoProcessQueue: false
}
Run Code Online (Sandbox Code Playgroud)

请求HTTP标头

希望它够了:)

谢谢.

javascript ajax amazon-s3 amazon-web-services

12
推荐指数
2
解决办法
5847
查看次数

流星在哪里定义我的收藏?

我有一个非常简单的应用程序结构,包含这些库

server - 包含一些路由配置和ENV

client- 包含<template name=".*"></template>每个模板的模板()和JS文件

collections

现在内部集合我有一个名为"Albums.js"的文件,并有一个非常简单的内容

var Albums = new Meteor.Collection("Albums");

现在在我的客户端文件夹中我正在尝试访问此变量Albums,我得到未定义的错误.

我的目标是从中获取数据form并将其传递给collection.insert

meteor

7
推荐指数
2
解决办法
2104
查看次数

实现setTimeout本机方法

我正在研究facebook中的浏览器扩展,现在我的问题是facebook覆盖了setTimeout和setInterval本机函数,它们的实现在Internet Explorer上不起作用.

有没有办法实现这些功能?

javascript internet-explorer settimeout setinterval browser-extension

4
推荐指数
1
解决办法
746
查看次数

我可以通过 cypress api 关闭特定选项卡吗?

我正在使用 cypress 来测试我的 chrome 扩展程序,当我将扩展程序加载到浏览器时,它会自动打开一个 url,我可以通过 cypress api 关闭选项卡吗?

testing e2e-testing cypress

4
推荐指数
1
解决办法
3434
查看次数

这些装订方法在角度上有什么区别?

在角度教程中有以下示例:

<h3>
    <a [title]="product.name + ' details'">
      {{ product.name }}
    </a>
  </h3>
Run Code Online (Sandbox Code Playgroud)

如果我这样写的话,它会很棒:

<h3>
    <a title="{{product.name + ' details'}}">
      {{ product.name }}
    </a>
  </h3>
Run Code Online (Sandbox Code Playgroud)

有什么不同?最佳做法是什么?

javascript typescript angular angular8

2
推荐指数
1
解决办法
69
查看次数

文件不会从Amazon S3中删除

我在nodejs中使用aws-sdk,这是删除文件的代码的一部分:

 var s3_params = {
         Bucket: util.getEnvVar('AWS_S3_BUCKET'),
         Delete: {Objects: [{Key: document.bucket_path }]}
  };

s3.deleteObjects(s3_params, function (err, data) {

                if (err) {
                    res.send(err);
                } else {
                    res.send(data);
                }
            });
Run Code Online (Sandbox Code Playgroud)

从亚马逊返回的响应看起来很好,但是当我查看s3界面内的存储桶时,该文件仍然存在.

也尝试使用"deleteObject"方法但没有成功.

谢谢.

amazon-s3 amazon-web-services node.js

1
推荐指数
1
解决办法
594
查看次数