[Обновить] Использование FileReader в Chrome - PullRequest
4 голосов
/ 12 июля 2011

Я установил сервер Apache, поставил страницу на сервер и проблема решена.Итак, я знаю, что эта проблема вызвана настройками безопасности в Chrome.

Теперь мне интересно, можно ли разрешить локальной веб-странице доступ к локальным файлам?

Я собираюсь сделать страницу, котораяпозволяет перетаскивать на него локальное изображение.Вот мой код, который не работает в chrome

Проблема в том, что событие reader.onload не сработало, вместо этого сработал onerror.

Так в чем причина?И как это исправить?Большое спасибо.

var oImg=document.getElementById("img1");

oImg.addEventListener('dragover', function(e) {
    e.stopPropagation();
    e.preventDefault();
}, false);

oImg.addEventListener('drop', handleDrop, false);

function handleDrop(e) {
    e.stopPropagation();
    e.preventDefault();

    var thisfile  = e.dataTransfer.files[0],
    reader = new FileReader();

    reader.onload = (function(thisfile){
        return function(e){
            oImg.src = e.target.result;
            }
        }
    })(thisfile);

    reader.readAsDataURL(thisfile);
}

Ответы [ 2 ]

3 голосов
/ 12 июля 2011

Я не уверен, если эта опция все еще доступна (AFAIK это) - попробуйте открыть chrome с переключателем --allow-file-access-from-files

Существует открытая проблема , которая может иметь отношение к вашему вопросу. Чем больше людей отметит эту проблему, тем больше вероятность ее устранения - см. Комментарий № 1.

0 голосов
/ 23 июля 2012

Похоже, что проблема связана с ограничениями безопасности вокруг файла: //

Вот еще один вопрос переполнения стека, в котором говорится об ошибке.

Uncaught Error: SECURITY_ERR: DOM Exception18, когда я пытаюсь установить cookie

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