【发布时间】:2012-11-06 16:39:47
【问题描述】:
我正在使用 Amazon s3 grails 插件在 s3 上上传 csv 文件。我真的可以使用这个插件上传 csv 文件吗?我正在尝试这个。我没有收到任何错误,也没有上传文件。插件无法从 s3 下载文件。请告诉我如何下载?
【问题讨论】:
标签: grails plugins file-upload amazon-s3 download
我正在使用 Amazon s3 grails 插件在 s3 上上传 csv 文件。我真的可以使用这个插件上传 csv 文件吗?我正在尝试这个。我没有收到任何错误,也没有上传文件。插件无法从 s3 下载文件。请告诉我如何下载?
【问题讨论】:
标签: grails plugins file-upload amazon-s3 download
我建议不要使用该插件,而是将 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
【讨论】:
我的回答有点晚了,但我最近遇到了这个问题,所以想把它分享给未来的读者。
我正在使用 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')
【讨论】: