ファイルをクライアント マシンにダウンロードして実行しようとしています。クライアントはそれを認識しています。動的に生成される ttkgp ファイルです。ローカル マシンで正常に動作する Processs.Start() を使用してみました (最初にファイルを C:\ に保存してから起動しました) が、サーバーからは動作しません。それは私のサーバーではなく、ホストされているサーバーです。彼らは助けようとしていますが、今のところうまくいきません。私はこのコードを見てきました:
public void ProcessRequest(HttpContext context)
{
string fileName = context.Request.QueryString["filename"];
FileInfo fi = new FileInfo(fileName);
context.Response.ContentType = "application/x-rar-compressed";
context.Response.AppendHeader("Content-Disposition",
string.Format("attachment; filename=download{0}", fi.Name));
context.Response.WriteFile(fileName);
context.Response.End();
}
しかし、「HttpContextコンテキスト」が何であるかわからないので、それが機能するかどうかはわかりません。一部のサーバー特権を変更する必要がありますか? または単にこのコードでうまくいくでしょうか?
ありがとうございました
更新 (24.6.12): 問題はほぼ解決しました。今必要なのは、新しいタブ/ウィンドウで HTML ページを開き、2 秒後に閉じる方法を知ることだけです。完了したら、すべてのプロセスをここに投稿します。他の人に役立つと確信しています。
更新 (26.6.12): これが私が得たものです: 目標は、TTKGP ファイルを asp.net webiste からローカル ユーザー マシンにダウンロードして実行することです。ステップ 1: サーバー上で分離コード (c#) を使用してファイルを生成する (V) ステップ 2: ファイルまたはその内容をユーザーのマシンにコピーする (X) ステップ 3: JS を使用してファイルを実行する (V)
ここに問題があります。サーバー上のテキスト ファイルからユーザー マシン上のテキスト ファイルにコピーすることはできますが、TTKGP ファイルからはコピーできません。これはただのテキスト ファイルであり、別の拡張子であるため、奇妙です。テキスト ファイルをコピーするためのコード:
enter code here
function copyremotetxt() // works
{
// copy the txt file
var fso = new ActiveXObject("Scripting.FileSystemObject");
var newfile = fso.CopyFile("remote.txt", "C:\\Users\\***\\local.txt");
}
おそらく、ユーザー マシンのファイル タイプを変更できますか?
通知 1: これはセキュリティ上の問題であることは承知しています。このサイトは既知のユーザー向けであり、一般公開されているわけではありません。
どうやって助けてくれる人たちに感謝します!!