当前位置: 首页 > 知识库问答 >
问题:

带环回的AWS文件上载:无法在S3上创建多部分上载

那铭
2023-03-14

尝试使用loopback-component-storage将多个图像文件上载到AWS

 Game.add = function(ctx,options,cb)
        {
               var status = ctx.req.query.status,
                defaultLangCode = ctx.req.query.defaultLangCode,
                nameEn = ctx.req.query.nameEn;

            var rec = new Object();
            rec.parentHouseId = houseId;
            rec.status = status;
            rec.defaultLangCode = defaultLangCode;
            rec.nameEn = nameEn;

            if(!options) options = {forceIframeTransport : true};
            ctx.req.params.container = 'common';
            Game.app.models.container.upload(ctx.req,ctx.result,options,function (err,fileObj) {
                if(err) {
                    cb(err);
                } else {
                    var fileInfo = fileObj.files.file[0];
                    console.log(fileInfo);
                }
            });
        };

而且

Game.remoteMethod(
        'add',
        {
            http:{path: '/add', verb: 'post', status: 200, errorStatus: 400},
            accepts: [
                { arg: 'ctx', type: 'object', http: { source:'context' } },
                { arg: 'options', type: 'object', http:{ source: 'query'} }
            ],
            returns: {
                arg: 'fileObject', type: 'object', root: true
            }
        }
    );

我正试图在那里上传两个图像文件。发布数据/图像会产生两次此错误:

无法在S3上创建多部分上载:{“消息”:“访问被拒绝”,“堆栈”:“AccessDenied:访问被拒绝\n在Request.Extractorr(/Vagrant/Node_Modules/AWS-SDK/Lib/Services/S3.js:538:35)\n在Request.CallListeners(/Vagrant/Node_Modules/AWS-SDK/Lib/Sequential_Executor.js:105:20)\n
在Request.Emit3185“,”ExtendedRequestid“:”LHRLXP6H2EQO8M0Ecull8JS4W9CP99H5FVSSHJVSS3MHB9OUPVWPZ7UDB1HHN0NTXF6SFlyOHDK=“,”StatusCode“:403,”Retryable“:false,”RetryDelay“:44.73750370088965}

第二个当然是不同的。

我尝试使用空的options对象,但没有运气。

欢迎任何建议。提前道谢。

共有1个答案

郁宾鸿
2023-03-14

尝试在s3 bucket(权限)策略中为用户启用权限。您是否为运行代码的实例分配了一个角色?(如果使用EC2作为工作站)

这本应该是一个评论。但不幸的是,我没有权利发表评论。

 类似资料:
  • 在构建代码之后,我无法将构建工件上载到aws s3 bucket。 下面是我从jenkins那里得到的控制台输出片段。 错误:上传文件失败com.amazonaws.services.s3.model.Amazon S3异常:桶在这个区域:空。请使用此区域重试请求(服务:Amazon S3;状态代码:301;错误代码:PermanentReDirect;请求ID:EDD73B3CC84C0AF6)

  • 我正在使用AWS成功地进行身份验证,并在Bucket对象上使用“put_object”方法上载文件。现在,我想使用多部分API来完成对大型文件的访问。我在这个问题中找到了公认的答案:如何使用boto3将S3对象保存到文件中 但是当试图实现时,我得到了“未知的方法”错误。我做错了什么?我的代码在下面。谢谢!

  • 我正在使用CKEditor插件将图像上传到我的OpenShift应用程序,但该应用程序不会上传文件。它在本地运行良好,但我无法确定是什么导致了这个问题。它似乎找不到目录。 == {err:{[Error: ENOENT, open'/var/lib/openShift/57cdb2770c1e660d0b000003/app-root/runtime/repo/路由来/.../Public/上传/

  • Im使用Spring Boot,并希望使用控制器接收多部分文件上传。当发送文件时,我一直得到错误415不支持的内容类型响应,并且控制器从未到达 我尝试在HTML/JSP页面和使用RESTTemplate的独立客户端应用程序中使用Form:Action发送。所有尝试的结果都是一样的 从multipart文档看来,边界参数必须添加到multipart上载,但这似乎与控制器接收不匹配 我的控制器方法设置

  • 关于Spring MVC应用程序中的多部分文件上传问题,我已经看到了很多关于stackoverflow的答案。我一步一步地确保我不会重复别人犯过的错误。 这是我的表格 在pom文件中我有依赖项 因此,当我停在调试器中时,request对象显示文件已被接收,甚至存储在jBoss临时文件夹中,我并不感到惊讶。 你能指出Spring看不到上传的文件我会错过什么吗?

  • 我有一个很大的文件,其中包含我在应用程序中使用的所有函数。在它的顶部,我包含了名称空间。在文件的唯一内容下面是一个函数的大列表。 我有一个名为的函数,它最初只是将文件加载到本地磁盘并将一条记录插入数据库。现在我想把文件上传到AWS S3桶中,但是当我尝试使用AWS代码时,我在这里找到了:http://docs.AWS.amazon.com/amazons3/latest/dev/uploadobj