Как использовать Imgur API v3 в jQuery для анонимной загрузки без раскрытия идентификатора клиента?

Я хочу создать веб-страницу, которая позволит людям загружать изображения, но я не думаю, что мой сервер сможет это принять. Итак, я хочу загрузить изображения в Imgur. У меня уже есть код для этого:

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Imgur Upload Test</title>
        <style>
            #image_preview, #image_preview_2 {
                max-width: 200px;
            }
        </style>
    </head>
    <body>
        <h1>Imgur Upload Test</h1>
        <input type="file" id="image_selector" />
        <h2>Image Preview:</h2>
        <img src="none" id="image_preview" />
        <h2>Image On Imgur:</h2>
        <img src="none" id="image_preview_2" />
        <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
        <script>
            $("#image_selector").change(function() {
                var reader = new FileReader();
                reader.onload = function(e) {
                    var data = e.target.result.substr(e.target.result.indexOf(",") + 1, e.target.result.length);
                    $("#image_preview").attr("src", e.target.result);
                    $.ajax({
                        url: 'https://api.imgur.com/3/image',
                        headers: {
                            'Authorization': 'Client-ID MY_CLIENT_ID'
                        },
                        type: 'POST',
                        data: {
                            'image': data,
                            'type': 'base64'
                        },
                        success: function(response) {
                            $("#image_preview_2").attr("src", response.data.link);
                        }, error: function() {
                            alert("Error while uploading...");
                        }
                    });
                };
                reader.readAsDataURL(this.files[0]);
            });
        </script>
    </body>
</html>

Проблема здесь в том, что я не могу придумать способ сохранить в секрете свой идентификатор клиента. Как я могу это сделать, не загружая изображение на свой сервер?


person Oscar Pérez    schedule 13.08.2014    source источник
comment
Ваш вопрос: вам придется направить его через свой сервер, чтобы сохранить что-либо в секрете, но вам не нужно беспокоиться о своем идентификаторе клиента.   -  person forresto    schedule 10.03.2016
comment
Не ваш вопрос: вам не нужен материал FileReader, и вы можете загрузить большой двоичный объект file напрямую, если вы используете $.ajax и processData: false : stackoverflow. com/a/11399659/592125   -  person forresto    schedule 10.03.2016