web-dev-qa-db-ja.com

href = "file://"が機能しない

次の問題があります:href="file://"さて、HTML内のリンクをファイルにポイントしたいと思います。

 file:///K:/filename.pdf

それはファイルを開くように機能しますが、私がそれをポイントすると:

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

動かない。リンクは次のように変更されます。

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

ファイルが消えた後のcolon。何をすべきかについての提案はありますか?

7
Sangsom

URLがfile///K:/AmberCRO%20SOP/2011-07-05/SOP-SOP-3.0.pdfに書き換えられるのは、http://file://を指定したためです

最初のhttp://は使用されているプロトコルであり、無効であるため、ブラウザは2番目のコロン(:)を削除しています。

のようなものにリンクする場合

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

上記は、URLを表示しているk:ドライブのk:/yourfile.pdfというファイルへのリンクを表していますマシン

これを行うことができます。たとえば、以下はC:\temp\test.pdfへのリンクを作成します

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

file://を指定すると、これはローカルリソースであることを示しています。このリソースはインターネット上にありません。

ほとんどの人はK:/ドライブを持っていません。

しかし、これがあなたが達成しようとしていることであれば、それは問題ありませんが、これはWebページの「典型的な」リンクが機能する方法ではなく、リンクにアクセスしようとするすべての人がアクセスできる場合を除いて、これを行うべきではありません。 (同じ?)K:/ドライブに(これは、共有ネットワークドライブの場合に該当する可能性があります)。

あなたは試すことができます

<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>

http://file:///K:/AmberCRO%20SOP/2011-07-05/SOP-SOP-3.0.pdfは不正な形式であることに注意してください

10
inspite

以前はffile:////.exeが機能していましたが(たとえば、初期のhtml 4の一部のバージョン)、html 5はこれを許可していません。以下を使用してテストされています:

<a href="ffile:///<path name>/<filename>.exe" TestLink /a> 
<a href="ffile://<path name>/<filename>.exe" TestLink /a> 
<a href="ffile:/<path name>/<filename>.exe" TestLink /a> 
<a href="ffile:<path name>/<filename>.exe" TestLink /a> 
<a href="ffile://///<path name>/<filename>.exe" TestLink /a> 
<a href="file://<path name>/<filename>.exe" TestLink /a> 
<a href="file:/<path name>/<filename>.exe" TestLink /a> 
<a href="file:<path name>/<filename>.exe" TestLink /a> 
<a href="ffile://///<path name>/<filename>.exe" TestLink /a>

同様に... 1/"ffile"を "file"だけに置き換えます2 /上記のすべてのバリエーションに、ffileまたはファイルの前にhttp://を付けます。

私が見た中で最も良かったのは、ファイルを開いたり(編集したり)保存したりすることができる可能性があることでした。ただし、そうでない場合、execファイルは実行されません。

0
Roger Browne

%20は、AmberCRO SOP間のスペースです。

試してください-

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

または、フォルダの名前をAmberCRO-SOPに変更し、次のように記述します-

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

「全員」または特定のグループのフォルダを共有して、これを試してください:

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