Falsehood
Молодой специалист
Offline
Пол:
не может быть
|
|
« : 22-08-2006 10:19 » |
|
если исходный код вот такой <img src="e:/temp/img/img.gif"/> то в MS IE картинка рисуется нормально, а в FireFox не рисуется совсем. как надо путь к рисунку с указанием диска прописать, чтобы рисунок рисовался в FireFox?
|
|
|
Записан
|
|
|
|
RXL
|
|
« Ответ #1 : 22-08-2006 14:05 » |
|
file:///e:/temp/.....
Урл может быть относительным и абсолютным. Твой - относительный, хотя, как я понимаю, хотела абсолютный.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Falsehood
Молодой специалист
Offline
Пол:
не может быть
|
|
« Ответ #2 : 23-08-2006 07:21 » |
|
RXL, так тожет не работает. как выяснилось, запрещено политикой безопасности firefox.
пришлось ваять сервлет, который отправляет указанный файл клиенту.
а как иначе? если в базе данных сам файл не хранится, а лежит где-нить на диске, а в бд только путь к нему. и к приложению этот файл отношения не имеет. то есть относительную ссылку на него не получить...
|
|
|
Записан
|
|
|
|
Chuda
Гость
|
|
« Ответ #3 : 23-08-2006 12:12 » |
|
а сделать удобоваримые симлинки на картинки - вариант?
|
|
|
Записан
|
|
|
|
RXL
|
|
« Ответ #4 : 23-08-2006 12:52 » |
|
Наташ, попробуй описать проблему подробне - пока картина в тумане. Может ты хочешь правильно, но действительно нарушаешь политику безопасности, а может - не правильно...
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Falsehood
Молодой специалист
Offline
Пол:
не может быть
|
|
« Ответ #5 : 24-08-2006 09:45 » |
|
Рома, я делаю табличку, которая будет отображать разнообразные данные на html-странице. если данное будет рисунком, его, соответственно, и надо будет отображать рисунком. как рисунки будут храниться, неизвестно. точнее, табличку хотят использовать в разных приложениях, и в этих приложениях используются разные способы хранения бинарных данных. если эти рисунки хранятся в базе данных, то проблем нет: сервлет по заданным параметрам находит массив байт и отправляет клиенту. а вот если в базе данных хранятся только пути к рисункам, можно же было бы прямо в источник img подставлять этот путь.. дак firefox не разрешает... пришлось тоже делать сервлет...
Чуда, как из e:/temp/img/img.gif сделать удобоваримый симлинк?
|
|
|
Записан
|
|
|
|
Chuda
Гость
|
|
« Ответ #6 : 24-08-2006 10:37 » |
|
Я так понимаю, что раз нестандартные имена каталогов, то это Windows. Специфики Windows я не знаю. Но смысл в том, чтобы сделать в той же директории, в которой лежит скрипт, формирующий страницу, каталог например e_tmp_img, и в скрипте сначала той самой windows-специфичной командой создавать симлинки, а уже на них ссылаться. В общем, что-то типа такого: ln -s e:/temp/img/img.gif e_tmp_img/img.gif && echo "<img src=\"e_tmp_img/img.gif\" />" это допустимый вариант?
|
|
|
Записан
|
|
|
|
Falsehood
Молодой специалист
Offline
Пол:
не может быть
|
|
« Ответ #7 : 25-08-2006 07:19 » |
|
работать в конечном итоге будет все на linux, но разрабатываю-то я на windows... так что надо сделать нечто универсальное.. я, кажется, поняла, что такое симлинки нодо будет подумать об этом, но на вскидку кажется, что сервлет все-таки проще. тем более, что он уже сделан
|
|
|
Записан
|
|
|
|
Chuda
Гость
|
|
« Ответ #8 : 25-08-2006 07:24 » |
|
так если будет на Linux, то проблема сама собой снимется))) Там нет нестандартных обозначений в именах директорий.
|
|
|
Записан
|
|
|
|
Falsehood
Молодой специалист
Offline
Пол:
не может быть
|
|
« Ответ #9 : 25-08-2006 09:47 » |
|
так а отлаживать как?
и как тогда будет выглядеть путь к картинке, если для всех файлов будет выделена, например, директория на сервере, и они там будут все в кучу свалены? что-то, типа root/temp/img/img.gif ?
|
|
|
Записан
|
|
|
|
Chuda
Гость
|
|
« Ответ #10 : 25-08-2006 10:02 » |
|
кстати, вообще поднимать сервак на виндах в отладочных целях можно не всегда ибо вот подобные платформенно-зависимые фишки не так уж и редки. Лучше или завести отдельный специальный комп или хотя бы в вмваре установить ту ОС, которая на сервере (удивительно, что там Linux, для серверов есть системы и получше). Ну а если попроще, то вполне вариант - для винды сделать этот хитрый сервлет, а потом, на месте, доотладить с учётом платформозависимых особенностей. Так будет проще всего на мой взгляд. Хотя я и вовсе пишу всё сразу на сервере, но к этому никого не призываю))))
|
|
|
Записан
|
|
|
|
RXL
|
|
« Ответ #11 : 25-08-2006 18:49 » |
|
а вот если в базе данных хранятся только пути к рисункам Ничего не понимаю. Ссылки на где? На сервере? Не понятна схема работы. У тебя клиент и сервер - одна машина?
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Falsehood
Молодой специалист
Offline
Пол:
не может быть
|
|
« Ответ #12 : 28-08-2006 07:35 » |
|
RLX, да. ссылки к файлам на сервере. или такого не может быть?
сейчас у меня сервера совсем нет. я сама себе и клиент, и сервер. просто пытаюсь предусмотреть как можно больше возможных вариантов
|
|
|
Записан
|
|
|
|
RXL
|
|
« Ответ #13 : 28-08-2006 08:47 » |
|
Наташ, по моему это не правильно в принципе. Если web-клиент работает с web-сервером, то давать ссылки на подгружаемые ресурсы по другому протоколу не корректно. Правильно будет дать клиенту url, по которому сервер выдаст картинку по тому же протоколу (http). Так ты и политику нарушать не будешь, и при изменении условий работоспособность сохранится.
Т.е., тебе нужно: 1. смапировать директорию с картинками на некий www-путь и сделать его доступным пользователю. 2. преобразовать прямой путь к файлу в url.
Это самое простое решение.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Falsehood
Молодой специалист
Offline
Пол:
не может быть
|
|
« Ответ #14 : 28-08-2006 10:24 » |
|
а как смапировать директорию на www-путь?
|
|
|
Записан
|
|
|
|
RXL
|
|
« Ответ #15 : 28-08-2006 12:12 » |
|
См. в настройках web-сервера. Какой сервер?
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Falsehood
Молодой специалист
Offline
Пол:
не может быть
|
|
« Ответ #16 : 29-08-2006 07:44 » |
|
у меня - tomcat 5.5.9 на сервере - sun application server.
|
|
|
Записан
|
|
|
|
RXL
|
|
« Ответ #17 : 29-08-2006 08:26 » |
|
С Tomcat не связывался - не знаю, можно ли там передавать просто файлы, а не web-сервисы вызывать. В крайнем случае, нужен web-сервис, который будет пересылать картинки.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Falsehood
Молодой специалист
Offline
Пол:
не может быть
|
|
« Ответ #18 : 29-08-2006 08:32 » |
|
это сложно. пока будет сервлет...
|
|
|
Записан
|
|
|
|
RXL
|
|
« Ответ #19 : 29-08-2006 08:40 » |
|
Разве это настолько сложно? Логика простая: 1. Принять параметер - оносительный путь к файлу. Проверить допустимость пути 2. Проверить наличние файла. Нет файла - 404. 3. Определить MIME-тип файла. Передать его в заголовке Content-type. 4. Передать сам файл.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Falsehood
Молодой специалист
Offline
Пол:
не может быть
|
|
« Ответ #20 : 29-08-2006 10:54 » |
|
так а сервлет то же самое и делает. или я что-то неправильно понимаю? сервлет принимает параметром путь к файлу (e:/temp/img/img.gif). прверяет, есть ли файл. если есть, передает. Content-type передает application/octet-stream...
|
|
|
Записан
|
|
|
|
RXL
|
|
« Ответ #21 : 29-08-2006 10:58 » |
|
Falsehood, если так, то какие могут быть притензии к Firefox-у? В общем, я ничего понять не могу - показания путаные.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Falsehood
Молодой специалист
Offline
Пол:
не может быть
|
|
« Ответ #22 : 30-08-2006 09:52 » |
|
Ром, так потому, что в firefoxe не работает <img src="e:/temp/img/img.gif"/> пришлось сделать так <img src="/ShowPictureServlet?fileName=e:/temp/img/img.gif"/> так работает и в IE, и в firefox-е. спрашиваю, как еще можно, потому что как-то топорно смотрится мое решение
|
|
|
Записан
|
|
|
|
npak
|
|
« Ответ #23 : 30-08-2006 09:58 » |
|
Нормально смотрится, за исключением того, что в ссылке проставлен полный путь.
Стоит переделать сервлет, чтобы он принимал относительный путь <img src="/ShowPictureServlet?fileName=img.gif"/> Сервлет сам знает, где находится каталог с файлами, и в ответ на этот запрос вернёт файл img.gif из каталога e:/temp/img/
|
|
|
Записан
|
|
|
|
Falsehood
Молодой специалист
Offline
Пол:
не может быть
|
|
« Ответ #24 : 30-08-2006 10:02 » |
|
точно. так и сделаю. спасибо
|
|
|
Записан
|
|
|
|
RXL
|
|
« Ответ #25 : 30-08-2006 13:11 » |
|
Вот что значит правильно сформулировать вопрос! Иначе 20-и постов мало для проникания в суть вопроса...
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Falsehood
Молодой специалист
Offline
Пол:
не может быть
|
|
« Ответ #26 : 31-08-2006 07:34 » |
|
Ром, я про сервлет уже в процессе обсуждения подумала, поэтому сразу о нем не сказала
|
|
|
Записан
|
|
|
|
|