いくつかのファイル(pdf、word、xls、これらのファイルなど)をダウンロードするためのWebサイトを作成したいのですが、各ファイルにはpiceがあります。たとえば、a.pdfは10 $、b.pdfidは20$です。たとえば、usern"x"には12$がありますが、このユーザーがファイルb.pdfをダウンロードできないようにするにはどうすればよいですか?提案をお願いします。あなたは私がフォルダにアクセスするための役割をhqveできるメンバーシップシステムを持つことができることを知っていますが、ファイルはどうですか?または、ファイルごとにオンライン価格を支払うことができるユーザーを登録する必要はないと思います。たとえば、a.pdfを選択すると、paypalなどに接続して支払います。支払いを行うと、リンクが表示されますが、どうでしょうか。ユーザーがリンクをコピーして友達に送信した場合はどうなりますか?ありがとうございました
質問する
78 次
4 に答える
5
ファイルをWebルートから外す必要があります(URLからアクセスできないようにするため)。
次に、ファイル名を取得し、ログインしたユーザーがアクセスを許可されているかどうかを確認し、アクセスが許可されている場合は、を呼び出してファイルを返すASHXファイルまたはMVCアクションを記述できますResponse.TransmitFile
。
于 2012-06-12T13:17:38.397 に答える
2
ファイルIDをGETパラメーターとして受け入れるページを作成し、コードビハインドでそれらのバランスをチェックすることができます。
于 2012-06-12T13:16:53.637 に答える
2
このために、SLaksが提案するように、汎用ハンドラーを使用します。[新規追加]-> [汎用ハンドラー(.ashx)ファイル]。次に、ハンドラークラスで:
public class CustomImageHandler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
//Get file name from query string and check balance for that file extension... read the file into aStream
context.Response.Clear();
context.Response.ContentType = "image/...";
context.Response.AddHeader("Content-Disposition", string.Format("attachment; filename=\"{0}\"", GetTheFileName()));
context.Response.BinaryWrite(aStream.ToArray());
}
}
次に、画像のハイパーリンクは次のとおりです。
http://yourdomain.path/../CustomImageHandler.ashx?filename=file1.pdf
于 2012-06-12T13:28:42.430 に答える
0
トランザクションが正常に完了したときに取得したと思います。trueが返され、戻り値がtrueであるかどうかを確認して、ファイルcqnを現在のユーザーにダウンロードできます。あなたの助けをありがとう:x
于 2012-06-12T13:24:18.640 に答える