我试图将图片png / jpg 小于10千字节上传到s3亚马逊。 上传成功但文件上传并以0字节存储。
当我试图看到s3-提供的链接中的图像时,我感到空白。
如果我上传超过10千字节大小的图片,那就没关系。
有人可以知道这是什么问题吗?
file_name = account[:img_token] + File.extname(img.original_filename)
file = Tempfile.new(file_name, encoding: 'ascii-8bit')
file.write(img.read)
path = file.path
bucket_name = 'bucket'
s3 = AWS::S3.new(access_key_id: ENV['S3_ACCESS_KEY'], secret_access_key: ENV['S3_SECRET_ACCESS_KEY'])
link = 'https://s3-eu-west-1.amazonaws.com/' + bucket_name + '/' + file_name
key = file_name
object = s3.buckets[bucket_name].objects[key].write(file: path, acl: 'public-read')
答案 0 :(得分:1)
看起来您正在将文件传递到寻求到文件末尾的SDK。我怀疑SDK正在调用#read
并且返回nil。首先尝试倒回文件。
答案 1 :(得分:0)
根据此answer
写入,读取和删除包含1个字节到5个字节的对象 每个数据。您可以存储的对象数量不受限制。