загрузка изображений в Firefox и Chrome - PullRequest
3 голосов
/ 02 ноября 2010
<html>

<body>

   <form name="Upload" enctype="multipart/form-data" method="post">

         Filename: <INPUT type="file" id="submit">

         <INPUT type="button" id="send" value="Upload">

    </form>

    <div id="div" align="center" style="height: 200px;width: 500px;border-style: ridge;border-color: red"></div>

</body>

<script type="text/javascript">



var img_id=0

var image = new Array()

document.getElementById('send').onclick=function()

{

    img_id++

    var id="imgid"+img_id

    image = document.getElementById('submit').value;

    document.getElementById('div').innerHTML="<img id='"+id+"' src='"+image+"' width=500px height=200px>"



}



</script>



</html>

проблема с этим кодом заключается в том, что он работает только в IE, а не в другом браузере (Firefox, Chrome, .... и т. Д.) Заранее спасибо.

Редактировать: (обновил мой пост в ответребятам из Naren, Bitslitter's, вот текст, который нужно добавить к обсуждению, опубликованному ниже:

Спасибо, ребята, за отзывы, отзывы Naren и Bitslitter были определенно полезными.

Не могли бы вы порекомендовать, как добиться того, что я хочу сделать, здесь:

В моем веб-приложении есть кнопка, при нажатии которой открывается диалоговое окно открытия браузера с вопросомдля файла изображения пользователь выбирает изображение, изображение открывается в веб-приложении.Для меня важно, чтобы браузер открыл изображение с локального сервера, так как я хочу использовать тег HTML5 canvas для чтения пикселей, а затем динамически преобразовывать эти пиксели в SVG (используя JS).Все это звучит сложнее, чем должно быть.

Веб-приложения, такие как Mugtug's Darkroom (http://mugtug.com/darkroom/) смогли достичь именно того, чего я хочу.

Ответы [ 2 ]

5 голосов
/ 02 ноября 2010

Если вы загрузите страницу в Google Chrome, загрузите изображение и нажмете Ctrl + Shift + J, вы увидите сообщение об ошибке «Не разрешено загружать локальный ресурс» на консоли ошибок.Вы можете сделать что-то подобное в FireFox с Firebug.IE не будет показывать локальные ресурсы, если ваш уровень безопасности Интернета не установлен на средний.Chrome и FireFox просто не будут отображать контент с локальных ресурсов.

4 голосов
/ 02 ноября 2010

IE возвращает имя файла с локальным путем ("c: \ documents \ image_path \ image.ext") в файле input.value, а другие браузеры возвращают только имя файла.

IE назначает полный локальный путь к изображению, поэтому он правильно показывает изображение. А другие браузеры добавляют путь к изображению в качестве имени файла (только имя файла, а не абсолютный путь), поэтому изображение недоступно для показа.

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

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