如何使用 Slingshot.createDirective 限制文件上传到 Amazon S3
How to limit file uploads to Amazon S3 with Slingshot.createDirective
我试图将我上传到 amazon s3 的图片限制为 10 张,我遇到了这个 link
https://github.com/themeteorchef/uploading-files-to-amazon-s3/blob/master/code/server/slingshot.js
出于某种原因,它对我不起作用
这是我的代码
Slingshot.createDirective( "uploadToAmazonS3Cg2", Slingshot.S3Storage, {
bucket: "bucket-name",
region: 'ap-southeast-1',
acl: "public-read",
authorize: function () {
return true;
},
key: function ( file ) {
var user = Meteor.users.findOne( this.userId );
return user.emails[0].address + "/screenshots" + "/" + file.name;
}
});
这是我在 html 文件中的上传器
Application ScreenShots:
{{> uploader config="2"}}
这就是我如何根据上面附加的link调用我的弹弓方法
var uploader
if (config === '1') {
uploader = new Slingshot.Upload( "uploadToAmazonS3Cg1" );
}
if (config === '2') {
uploader = new Slingshot.Upload( "uploadToAmazonS3Cg2" );
} else {
uploader = new Slingshot.Upload( "uploadToAmazonS3Cg3" );
}
我返回true,根据我的理解,它应该允许我上传任意多个,但我只能上传一个文件。
我在这里错过了什么吗?有没有其他方法可以设置限制?
查看source-code for slingshot,您需要一次上传一个文件。要限制用户上传的文件总数,您需要使用授权功能并将他们上传的文件数存储在 Mongo 中。根据您的问题,我不确定您是指总共 10 个文件还是一次 10 个文件,但如果一次是 10 个文件,您只需在文件输入元素上使用 jQuery 验证即可验证。
我试图将我上传到 amazon s3 的图片限制为 10 张,我遇到了这个 link https://github.com/themeteorchef/uploading-files-to-amazon-s3/blob/master/code/server/slingshot.js
出于某种原因,它对我不起作用 这是我的代码
Slingshot.createDirective( "uploadToAmazonS3Cg2", Slingshot.S3Storage, {
bucket: "bucket-name",
region: 'ap-southeast-1',
acl: "public-read",
authorize: function () {
return true;
},
key: function ( file ) {
var user = Meteor.users.findOne( this.userId );
return user.emails[0].address + "/screenshots" + "/" + file.name;
}
});
这是我在 html 文件中的上传器
Application ScreenShots:
{{> uploader config="2"}}
这就是我如何根据上面附加的link调用我的弹弓方法
var uploader
if (config === '1') {
uploader = new Slingshot.Upload( "uploadToAmazonS3Cg1" );
}
if (config === '2') {
uploader = new Slingshot.Upload( "uploadToAmazonS3Cg2" );
} else {
uploader = new Slingshot.Upload( "uploadToAmazonS3Cg3" );
}
我返回true,根据我的理解,它应该允许我上传任意多个,但我只能上传一个文件。 我在这里错过了什么吗?有没有其他方法可以设置限制?
查看source-code for slingshot,您需要一次上传一个文件。要限制用户上传的文件总数,您需要使用授权功能并将他们上传的文件数存储在 Mongo 中。根据您的问题,我不确定您是指总共 10 个文件还是一次 10 个文件,但如果一次是 10 个文件,您只需在文件输入元素上使用 jQuery 验证即可验证。