Mencoba mengambil gambar untuk objek di S3 dengan '+'
di kuncinya menyebabkan 404.
Contoh:
GET https://<cname>.imgix.net/E+P-003_D.jpeg // -> 404
GET https://<cname>.imgix.net/E%2BP-003_D.jpeg // -> 200
Saya menduga, itu karena encodeURI
di https://github.com/imgix/imgix-core-js/blob/master/src/imgix-core-js.js#L106. Karena kunci S3 adalah jalur, modul menggunakan encodeURI
, yang menerima simbol '+'
dan tidak menyandikannya. S3, bagaimanapun, menafsirkannya sebagai spasi.
Hai @rschweizer ,
Terima kasih telah mengangkat ini. Sayangnya tidak ada solusi langsung untuk ini karena penyandian +
berisiko merusak pengaturan yang tidak menggunakan sumber S3. Untuk saat ini solusi tercepat adalah dengan menyandikan +
setelah membuat URL:
client.buildURL(path, params).replace(/\+/g, '%2B')
Saya tahu ini bukan jawaban yang memuaskan, tetapi ketahuilah bahwa kami sedang menyelidiki solusi yang lebih baik untuk ini. Jangan ragu untuk berkomentar kembali jika Anda memiliki pertanyaan lain. Terima kasih
Hai @sherwinski ,
Terima kasih! Itu juga perbaikan cepat, saya datang kemarin :)
Beri tahu saya, jika saya dapat membantu menemukan solusi yang lebih elegan.
@rschweizer hei :wave: terima kasih telah membuka masalah ini dan membawa ini menjadi perhatian kami. Saya senang Anda dan @sherwinski telah menemukan solusi serupa :)
Ke depan, kami sudah berpikir lebih keras tentang bagaimana/kapan pengkodean harus/tidak boleh dilakukan serta menangani kasus tepi. Saya telah membuat dokumen internal yang melacak masalah ini dan kami sedang mengerjakan more elegant solution
.
Saya akan menutup ini untuk saat ini, tetapi _please_ jangan ragu untuk berkomentar/menarik/membuka-masalah lagi jika Anda memiliki pertanyaan, komentar, atau masalah.
Komentar yang paling membantu
Hai @sherwinski ,
Terima kasih! Itu juga perbaikan cepat, saya datang kemarin :)
Beri tahu saya, jika saya dapat membantu menemukan solusi yang lebih elegan.