В моем приложении scala я вызываю службу хранения s3 для загрузки моего входного потока массива байтов. Я хочу, чтобы этот входной поток сохранялся в виде файла .wav. Код приведен ниже
val bytes1 = new sun.misc.BASE64Decoder().decodeBuffer(base64String)
var fileInputStreamAudio = new ByteArrayInputStream(bytes1)
val bucketName = "Uploads"
val bucket = s3Service.createBucket(bucketName)
val fileObject = s3Service.putObject(bucket, {
val acl = s3Service.getBucketAcl(bucket)
acl.grantPermission(GroupGrantee.ALL_USERS,Permission.PERMISSION_READ)
val amazonPAth = UUID.randomUUID + "/audioFile.wav"
val tempObj = new S3Object(amazonPAth)
tempObj.setDataInputStream(fileInputStream)
tempObj.setAcl(acl)
tempObj.setContentType("audio/basic")
tempObj
})
s3AudioPath = s3Service.createUnsignedObjectUrl(bucketName, fileObject.getKey, false, false, false)
Поток сохраняется в хранилище s3 без ошибок. Когда я загружаю и играю файл .wav (тот, который я сохранил в хранилище s3), звук не воспроизводится. В то же время, когда я загружаю файл с локального диска, используя поток ввода файла, файл сохраняется в хранилище s3. Также скачанный аудиофайл с s3 воспроизводится без ошибок. Можно ли сохранить массив байтов в виде файла .wav в s3? Пожалуйста, помогите мне решить эту проблему. заранее спасибо