【问题标题】:how to upload and download files using amazon s3 grails plugin如何使用 amazon s3 grails 插件上传和下载文件
【发布时间】:2012-11-06 16:39:47
【问题描述】:

我正在使用 Amazon s3 grails 插件在 s3 上上传 csv 文件。我真的可以使用这个插件上传 csv 文件吗?我正在尝试这个。我没有收到任何错误,也没有上传文件。插件无法从 s3 下载文件。请告诉我如何下载?

【问题讨论】:

    标签: grails plugins file-upload amazon-s3 download


    【解决方案1】:

    我建议不要使用该插件,而是将 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

    【讨论】:

      【解决方案2】:

      我的回答有点晚了,但我最近遇到了这个问题,所以想把它分享给未来的读者。

      我正在使用 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')
      

      【讨论】:

        猜你喜欢
        • 2011-11-10
        • 1970-01-01
        • 2023-03-19
        • 1970-01-01
        • 2016-05-25
        • 1970-01-01
        • 1970-01-01
        • 2012-10-10
        • 2012-08-29
        相关资源
        最近更新 更多