2016-09-14 3 views
0

Я пытаюсь загрузить файл на S3 с помощью Scala Playframe работы 2.4.1 В частности с помощью модуля плей-s3 7.0.2S3 загрузки файлов с помощью Play-S3 не выполняется для изображений, но работает для текстовых файлов

я могу заставить его работать для текстовых файлов, но когда я пытаюсь загрузить изображение, я получаю это сообщение: The provided 'x-amz-content-sha256' header does not match what was computed.

Если я использую «аватар.jpeg» для «text.txt» и «image/jpeg» для «plain/text» в следующем код работает. Текстовый файл загружается на S3. Но если я попытаюсь загрузить изображение (я пробовал jpeg и png), он не сказал, что заголовок не соответствует. Я понятия не имею, что я делаю неправильно в этот момент, и это сводит меня с ума.

import fly.play.s3.{BucketFile, S3, S3Exception} 
import java.nio.file.{Files, Paths} 

def test() = Action 
{ implicit request => 

    val file_path = "/path/to/file/avatar.jpeg" 
    val bucket = S3("path_to_bucket") 
    val byte_array = Files.readAllBytes(Paths.get(file_path)) 

    val result = bucket + BucketFile("avatar.jpeg", "image/jpeg", byte_array) 
    result.map { unit => 
     Logger.info("Saved the file") 
    } 
     .recover { 
      case S3Exception(status, code, message, originalXml) => 
      { 
       Logger.info("Error: " + message) 
       Logger.info("originalXml: " + originalXml) 
      } 
     } 

    Ok("Yay") 
} 

ответ

 Смежные вопросы

  • Нет связанных вопросов^_^