Остановить истечение срока действия URL-адреса BLOB-объекта - PullRequest
2 голосов
/ 01 июня 2011

Я загружаю изображения в BLOB-магазин. Я скопировал пример от здесь .

Единственная проблема, с которой я сталкиваюсь: если я загружаю страницу с формой, и не сразу отправить изображение. URL может истечь, и когда я делаю попробуйте загрузить изображение, я получаю страницу ошибки. Как я могу проверить, если срок действия URL истек, и обновите URL, не зная пользователя?

Ответы [ 3 ]

4 голосов
/ 01 июня 2011

Кажется, что обходной путь - получение URL-адреса Blob, когда пользователь отправляет форму.Таким образом, вы знаете, что URL не может истечь.

Использование JQuery:

$.get("/blobUrl", function(data){
    $("#changeProfilePictureForm").attr('action', data);
    $("#changeProfilePictureForm").submit();
    $("#changeProfilePictureForm").hide();
    $("#loadingImg").show();
}); 
0 голосов
/ 01 июня 2011

Я не уверен на 100% в этом, но я видел, как веб-сайты обновляют разделы страницы, фактически не обновляя страницу.Twitter - один из примеров, который позволяет загружать последний контент в верхнюю часть страницы, не обновляя его.

Согласно этому веб-сайту вы можете получать динамический контент через xml и php безОбновление страницы.Поэтому, если форма для загрузки изображений имеет ограничение по времени, вы можете попробовать функцию, подобную этой, чтобы обновить форму без фактического обновления страницы.

Теперь, если у URL-адреса ограниченное время или страница в целомЕсли у вас есть файл cookie, вам нужно будет найти способ продлить или расширить файл cookie, который API может или не может позволить вам сделать, в зависимости от того, как Google его настраивает.

Я думаю, что в худшем случаев худшем случае вы можете просто попробовать автоматическое обновление на странице с помощью функции html, но если человек загружает изображения и обновляет страницу, он, вероятно, потеряет весь свой прогресс.

Извините, если этоне самая полезная вещь, но я подумал, что постараюсь дать некоторую информацию о том, как, возможно, заставить мяч двигаться.

0 голосов
/ 01 июня 2011

Сколько времени до истечения срока действия URL-адреса и как вы знаете, что это истечение срока, вызывающее вашу проблему?Я не вижу документов Google API, упоминающих об этом.Кроме того, что исключение выбрасывается.Не могли бы вы перехватить его на стороне сервера и отправить пользователя обратно на ту же страницу с новым сгенерированным URL для загрузки.Я знаю, что это не соответствует вашему требованию, чтобы пользователь не знал, что это произошло.

Я думаю, что один из вариантов - выяснить, как долго истекает срок действия URL, а затем использовать JavaScript для асинхронного вызова вашего сервера по истечении времени ожидания.извлеките новый URL-адрес для загрузки и измените URL-адрес в DOM.

Однако решение для перехвата исключения и повторного рендеринга звучит лучше всего, поскольку я считаю, что срок действия URL-адреса должен истечь только после того, как пользователь простаиваетдовольно продолжительное время?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...