Tôi đang sử dụng đá quý ruby AWS chính thức cho S3 và tôi gặp sự cố khi sử dụng phương thức "url_for" trên các tệp có ký tự đặc biệt trong đó (ví dụ: dấu phẩy, dấu nháy đơn). Tôi đang sử dụng đá quý AWS-sdk mới nhất cho ruby và mã của tôi trông như thế này:Các ký tự đặc biệt trong tên tập tin ảnh hưởng đến phương pháp đá quý aws-sdk ruby url_for
s3 = AWS::S3::new
bucket = s3.buckets[bucket]
object = bucket.objects[object_address]
object_url = object.url_for(:read, :expires => 60*60, :secure => true)
Đối tượng là nhận thấy một cách chính xác, nhưng URL tôi nhận được từ url_for mang lại cho tôi một HTTPError: 404 Not Found lỗi. Nó hoạt động tốt nếu tên tệp không có dấu phẩy hoặc dấu nháy đơn trong đó.
Có cách nào để xử lý việc này mà không cần phải hạn chế tên tệp ở địa điểm đầu tiên không?
URL của bạn trông như thế nào? – sarnold
Tôi đã thay thế một vài phần để bảo mật, nhưng đây là ý chính của nó. Nó bắt đầu bằng https cũng ... //mybucket.s3.amazonaws.com/mypathstuff/test%2Ctest.png?AWSAccessKeyId=MYACCESSKEY&Expires=1323005992&Signature=lettersandnumbers%2Bt2RtdCnBAA%3D –
Phía trên các phần tôi đã thay thế là "mybucket", "mypathstuff "và" lettersandnumbers ". Tôi đã thử mã hóa/giải mã URL thành không có lợi ích. –