私は、ファイルを非公開にして公に再ダウンロードすることができないようにする方法を模索しています。サーバー側のコード(ボタンのような)は、クライアントのプライベートディレクトリから一度だけ取り出すことができます。クライアントが一般にアクセスできないパスからファイルをダウンロードするようにしますか?
これは可能ですか?
フォルダが公開されていても、ファイルがダウンロードされた回数を表示するイベントを発生させる良い方法は、それを追跡してダウンロードに達した後にそれらを削除するサービスを作ることです限界?私は、ファイルへのResponse.redirectを実行してから、ダウンロードされた回数を追跡するロジックを実行することができます。しかし、それはあなたがそれをする方法ですか?
編集:いくつかの掘削後、私は解決策を見つけました。私はあなたの多くがサンプルコードを含めないためにこれをdownvoted持っていることを知っていますが、私はそれが非常にうまく動作するので、私はそれを使用して終了したコードを共有するために戻ってupvoteできれば感謝します。
String FileName = "File.zip";
String FilePath = "C:/Test/" + FileName; //Replace this
System.Web.HttpResponse response = System.Web.HttpContext.Current.Response;
response.ClearContent();
response.Clear();
response.ContentType = "text/plain";
response.AddHeader("Content-Disposition", "attachment; filename=" + FileName + ";");
response.TransmitFile(FilePath);
response.Flush();
response.End();
クライアントのサーバーサイトではどこにC#を使用しますか?サーバー側の – rekire
。 –
どのようにデータをホストしていますか? IISまたはWCFでセルフホスト?サーバオプションがあります... – rekire