我正在使用Amazon s3 grails插件在s3上传csv文件。我真的可以使用这个插件上传csv文件吗?我正在尝试这个。我没有收到任何错误,文件也没有上传.Plugin无法从s3下载文件。请告诉我该如何下载?< / p>
答案 0 :(得分:0)
我建议不要使用插件,而是将jets3t库导入到项目中。然后你可以做这样的事情:
String awsAccessKey = "YOUR_AWS_ACCESS_KEY"
String awsSecretKey = "YOUR_AWS_SECRET_KEY"
AWSCredentials awsCredentials = new AWSCredentials(awsAccessKey, awsSecretKey)
S3Service s3Service = new RestS3Service(awsCredentials)
S3Bucket[] myBuckets = s3Service.listAllBuckets()
println "How many buckets to I have in S3? " + myBuckets.length
请查看本指南以获取更多信息: http://www.jets3t.org/toolkit/code-samples.html
答案 1 :(得分:0)
我的回答有点晚,但我最近遇到了这个问题所以想到为未来的读者分享它。
我使用的是Grails版本:3.2.7和Grails AWS SDK S3 Plugin
这是 UploadController
class UploadController {
def amazonS3Service
def s3Bucket = 'YOUR-BUCKET-NAME'
def index() {
def multipartFile = request.getFile('file')
if (multipartFile && !multipartFile.empty) {
def fileName = multipartFile.getOriginalFilename()
// push uploaded file to S3
amazonS3Service.storeMultipartFile(s3Bucket, fileName, multipartFile)
log.debug "written to s3"
} else {
log.debug "No file uploaded"
}
return
}
}
从s3下载,根据文档:
// Get a file
file = amazonS3Servuce.getFile('asset/foo/someKey.jpg', '/Users/ben/Desktop/photo.jpg')