2012-10-11 12 views
5

mam problem z: href="file://" Więc chcę podkreślić łącze w html do pliku w przeglądarce jeśli piszę jakhref = "file: //" nie działa

file:///K:/filename.pdf 

To działa, aby otworzyć plik, ale jeśli wskażę go:

 href="http://file:///K:/AmberCRO%20SOP/2011-07-05/SOP-SOP-3.0.pdf" 

To nie działa. link zmienia się na:

file///K:/AmberCRO%20SOP/2011-07-05/SOP-SOP-3.0.pdf 

Po zaniku pliku colon. Wszelkie sugestie, co robić?

+4

Co próbujesz zrobić, pointin g 'href =" http: // file: /// K: /AmberCRO%20SOP/2011-07-05/SOP-SOP-3.0.pdf "'? Jest nieważny! –

+0

Sugestie? Połącz swoje pliki ze stroną internetową. '' i zapisz plik w folderze 'files /'. Na przykład: – Touki

+0

'http' jest protokołem wskazującym na zasoby sieciowe, tak samo jest z' file' wskazującym lokalny zasób źródłowy - nie możesz użyć obu w href. – Christoph

Odpowiedz

8

Powodem adres URL jest przepisany do file///K:/AmberCRO%20SOP/2011-07-05/SOP-SOP-3.0.pdf dlatego określono http://file://

Na początku używany jest protokół http://, a przeglądarka usuwa drugi dwukropek (:), ponieważ jest nieważny.

Uwaga

Jeśli odwołują się do czegoś jak

<a href="file:///K:/yourfile.pdf">yourfile.pdf</a> 

Powyższe oznacza link do pliku o nazwie k:/yourfile.pdf na k: napęd na maszynę na którą oglądasz URL.

Można to zrobić, na przykład poniżej tworzy link do C:\temp\test.pdf

<a href="file:///C:/Temp/test.pdf">test.pdf</a> 

określając file: // jesteś wskazując, że jest to jedna z lokalnych zasobów. Ten zasób NIE jest dostępny w Internecie.

Większość osób nie ma dysku K: /.

Ale jeśli to jest to, co próbujesz osiągnąć, jest to w porządku, ale nie jest tak, jak działa "typowy" link na stronie internetowej, i nie powinieneś tego robić, chyba że każdy, kto ma do niego dostęp Twój link ma dostęp do (tego samego?) K:/drive (może tak być w przypadku współdzielonego dysku sieciowego).

Można spróbować

<a href="file:///K:/AmberCRO-SOP/2011-07-05/SOP-SOP-3.0.pdf">test.pdf</a> 
<a href="AmberCRO-SOP/2011-07-05/SOP-SOP-3.0.pdf">test.pdf</a> 
<a href="2011-07-05/SOP-SOP-3.0.pdf">test.pdf</a> 

Zauważ, że http://file:///K:/AmberCRO%20SOP/2011-07-05/SOP-SOP-3.0.pdf jest zniekształcone

0

%20 to przestrzeń pomiędzy SOP AmberCRO.

Try -

href="http://file:///K:/AmberCRO SOP/2011-07-05/SOP-SOP-3.0.pdf" 

Albo zmień nazwę folderu jako AmberCRO-SOP i zapisać go jako -

href="http://file:///K:/AmberCRO-SOP/2011-07-05/SOP-SOP-3.0.pdf" 
+6

'http: // file: //'? – Touki

+0

@Touki Przypuszczam, że FireFox dodaje plik: /// gdy otwierasz lokalne pliki na dysku twardym – Dipak

0

Podziel folder dla "każdego" lub jakiejś konkretnej grupy i spróbować tego:

<a href="file://YOURSERVERNAME/AmberCRO%20SOP/2011-07-05/SOP-SOP-3.0.pdf"> Download PDF </a>

+0

Technicznie powinno to być 'file: ///// YOURSERVERNAME'. 'File: //' jest bitem protokołu, '/' jest dla root'a, a '// YOURSERVERNAME' jest adresem sieciowym serwera-coś-tego-nie mogę-zapamiętać-nazwy -z. – wizzwizz4