cloudinary_gem icon indicating copy to clipboard operation
cloudinary_gem copied to clipboard

Image upload error in Safari: Failed to load resource: Request header field Authorization is not allowed by Access-Control-Allow-Headers.

Open netwire88 opened this issue 4 years ago • 1 comments

Hi, I'm getting an error Failed to load resource: Request header field Authorization is not allowed by Access-Control-Allow-Headers. in Safari, but not in Chrome using the following code for javascript upload. Is there anyway to fix this?

<%= cl_image_upload_tag(:image_id, :upload_preset => "logos", :public_id => "#{@account.id.to_s}") %>

<%= cloudinary_js_config %>

<script type="text/javascript">

    $('.progress').hide();

    $(document).ready(function() {
        if($.fn.cloudinary_fileupload !== undefined) {
            $("input.cloudinary-fileupload[type=file]").cloudinary_fileupload({
              maxFileSize: 10000000,
              acceptFileTypes: /(\.|\/)(jpe?g|png)$/i
            });
        }

        $('.cloudinary-fileupload').bind('cloudinarydone', function(e, data) {
            $('.logo-thumbnail').hide();
            $('.preview').html(
                $.cloudinary.image(data.result.public_id,
                    { format: data.result.format, version: data.result.version,
                        crop: 'fit', width: 500, height: 200 })
            );
            $('.image_public_id').val(data.result.public_id);
            return true;
        });

        $('.cloudinary-fileupload').bind('cloudinaryprogress', function(e, data) {
            $('.progress').show();
            $('.progress-bar').css('width', Math.round((data.loaded * 100.0) / data.total) + '%');
        });

    });

</script>

netwire88 avatar Jan 23 '21 21:01 netwire88

Hi @netwire88, This seems like a CORS error. Since direct uploading from the browser is performed using XHR (Ajax XMLHttpRequest‎) CORS requests. In order to support older browsers that do not support CORS, you can place cloudinary_cors.html in the public folder of your Rails application. This file is available in the vendor/assets/html folder of the Ruby gem. Let us know if this solves your issue. Thanks

michalkcloudinay avatar Jan 24 '21 15:01 michalkcloudinay