Re: file2url
От: Аноним  
Дата: 27.07.05 21:02
Оценка:
Здравствуйте, ziox, Вы писали:

Z>Есть html файл, который сохранен локально на диске и его URL в инете. Необходимо получить все адреса(src) для тега img. Проблема в том, что адреса, которые начинаются не с http://.......возвращают относительный путь начиная с file:///DISK:/... т.е. относительно того пути в где сохранен файл…

Z>Как же получить правильный адрес?

Z>Для получения адресов(src) картинок использую IHTMLDocument2 пробывал загрузку и через CreateURLMoniker и Doc as IPersistFile).load('c:\test\main.htm',0);

Z>Не хотелось бы писать свой анализатор url т.к. сердце чувствует, что есть штатные средства…. Кодирую на паскале….

Z> Doc:=CoHTMLDocument.Create as IHtmlDocument2;

Z> CreateBindCtx(0 , Bc);
Z> ws:='c:\test\main.htm';

Z> // адрес в инете wss:='http://www.micro.com/main.htm';


Z> CreateURLMoniker(nil, PWideChar(ws), Mnk);

Z> Doc.QueryInterface(IID_IPersistMoniker, PMnk);
Z> PMnk.Load(false, Mnk, Bc, STGM_READ);

Z> // (Doc as IPersistFile).load('c:\test\main.htm',0);


все твои html-файлы должны лежать в каком-нибудь Apache, поэтому все абсолютные file-пути будут начитаться с чего-нибудь $HTDOCS_PATH/path/to/file.html. Удали из строки вот это начало $HTDOCS_PATH и вставь вместо него http://your-domain:port/path/to/file.html

или чего ты хочешь, я плохо понимать вас.

есть стандартные методы для этой задачи, но только они должны вызываться в том же контексте, что и html-файлы, и тем более для delphi я не знаю.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.