IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Веб-программирование (http://www.imho.ws/forumdisplay.php?f=29)
-   -   Предпросмотр картинки перед загрузкой (Opera vs IE) (http://www.imho.ws/showthread.php?t=81481)

Sinker 11.03.2005 16:07

Предпросмотр картинки перед загрузкой (Opera vs IE)
 
Поиск юзал, ничего похожего не нашел, хотя помню, что с год назад задавал тут похожий вопрос...

Есть <form... , в ней <input type=file...
Человек выбирает файл на своем компе, после этого по onclick или onchange (в зависимости от браузера) нужно отобразить эту картинку (если это картинка).
Понял как это сделать в IE, почти всегда работает в Mozilla, но вот чтобы это заработало в Opera.... Помогите, PLZ.
Сейчас это выглядит вот так:
Код:

my_image_src=document.forms["f"].elements["fileid"].value;
if (isMozilla)
                                {
                                    //Mozilla
                                    my_image_src = my_image_src.replace(/\\/g, '/');
                                    my_image_src = my_image_src.replace(/:/, '|');
                                    my_image_src = "file:///" + my_image_src;
                                    my_image[id].src=my_image_src;
                                }
                            else if (isOpera)
                                {
                                    //opera
                                    my_image_src = my_image_src.replace(/\\/g, '/');
                                    my_image_src = "file://localhost/" + my_image_src;
                                    my_image[id].src=my_image_src;
                                }
                            else
                                {
                                    //IE
                                    my_image_src = unescape(my_image_src);
                                    my_image_src = my_image_src.replace(/\+/g, '%20');
                                    my_image[id].src=my_image_src;
                                }

Самое интересное, что если посмотреть свойства этой картинки, то урл будет иметь вид file://localhost/d:/foto/002.jpg. Так вот если открыть в опере новое окно и вставить туда этот урл, то картинка откроется нормально. После перехода в первое окно - картинка будет показана и там. Т.е. я так понимаю, что описанный код срабатывает, когда картинка уже есть в кеше оперы... Поправьте меня, PLZ.

Sensey 12.03.2005 16:37

зачем такие извращения ? что, человек на своем же харде не может посмотреть картинку?

делайте все проще....

Sinker 13.03.2005 14:35

Ты можешь мне не верить, но есть люди, которые не могут сделать даже этого...
А насчет первого вопроса - Для удобства! Когда человек заливает на сервер несколько фотографий (мой случай), ему _удобно_ видеть что на них изображено, а не просто их название (а часто только его часть)...

ЗЫ. Прошу в студию только ответы по делу, а не "-зачем тебе BMW? Купи запорожец, он тоже ездит (вариант: ходи пешком)"...

AleXXXSoft 14.03.2005 08:51

никакого локалхоста там не надо.... смысл совсем другой... у меня работает просто путь, даже без всяких file://

Sinker 14.03.2005 11:22

Хм... А пример можно?

ЗЫ. Сам спросил - сам ответил
http://my.opera.com/forums/showthrea...ht=local+image

AleXXXSoft 14.03.2005 11:25

ну вот в 5-ке и 6-ке это работало :) а теперь там написано, что не будет работать из-за безопасности... :) и вообще, пользователей оперы не так много, чтобы на них ориентироваться... а те, кто и пользуются этим дерьмом, врядли не умеют картинки на своем винчестере глядеть :)

saintex 19.09.2005 02:49

Не страдайте фигнёй :beer:


Часовой пояс GMT +4, время: 20:05.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.