1

私のasp.netWebアプリケーションは、サーバーからファイルをダウンロードする機能を提供します(ユーザーがボタンをクリックすると、itextsharpを使用してサーバー上にPDFファイルを作成し、Response.BinaryWriteを使用してクライアントに送信します)。各ファイルには適切な名前が付けられています(例:2012-00001.pdf、2012-00002.pdf、...)。

問題は、ブラウザがこれらのファイルを一時ディレクトリに保存し、ユーザーが同じファイルを再度ダウンロードすると、2012-00001(1).pdfのような名前に変更されることです。これは問題です。ユーザーがファイルを新しいメールメッセージ(acrobatリーダー、foxitリーダーなどから)に添付したいのですが、添付されたドキュメント名が明らかに間違っているからです...

これを防ぐ方法はありますか?

編集-私は十分に明確ではありませんでした。私の質問は、ユーザーが「保存」や「名前を付けて保存」ではなく「開く」を選択した状況で、ブラウザがファイルを一時ディレクトリに保存しないようにする方法はありますか?

そして、ディレクトリに同じ名前の2つのファイルを含めることはできないと言ってくれたみんなに感謝します:)

4

4 に答える 4

7

これを防ぐ方法はありますか?

いいえ。ブラウザは、ユーザーが同じ名前の既存のファイルを誤って上書きするのを防ぐためにこれを行います。これを制御することはできません。

于 2012-05-24T10:56:46.290 に答える
1

もちろん違います。ブラウザは彼が喜ぶことは何でも自由に行うことができます(そして、必要がない限り、実際にはファイルを上書きしないという良い仕事をします)。添付するファイルに注意するのはユーザーの責任です。

于 2012-05-24T10:56:58.410 に答える
0

いいえ、あなたはこれをまったく制御できません。

メールで送信するだけの場合は、PDF を生成して Web サイトから直接メールを送信するボタンを提供していただけないでしょうか?

于 2012-05-24T10:58:42.653 に答える
0

No you cannot prevent this. You cannot have more than 1 files with same name in a folder.

これは、コンピューティングとプログラミングにとって非常に基本的なことです。プログラミングでも、名前空間に同じ名前の 2 つのクラスを含めることはできません。

世界で、あなたのような状況が受け入れられるとしましょう。それでは、ユーザーはどのファイルが正しいファイルであるかをどのように区別しますか? 彼はすべてのファイルを開き続けますか?

2 つ以上のファイルがある場合はどうなりますか? 同じ名前のファイルが 2、10、または 50 個あるとします。

于 2012-05-24T11:08:17.193 に答える