我正在尝试将文件下载并运行到客户端计算机。客户意识到这一点。这是一个动态生成的 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 context”,所以我不知道它是否有效。是否需要更改某些服务器权限?或者只是这段代码可以解决问题?
谢谢
更新(24.6.12):我几乎解决了这个问题,我现在只需要知道如何在新选项卡/窗口中打开一个 html 页面并稍后关闭它。完成后,我会将所有过程发回这里,我相信它会帮助其他人。
更新(26.6.12):这是我得到的:目标是从 asp.net webiste 下载一个 TTKGP 文件到本地用户机器并运行它。第 1 步:在服务器 (V) 上生成带有代码隐藏 (c#) 的文件 第 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:我知道这是一个安全问题,该站点仅适用于已知用户,而不是公开的公众 注意 2:我知道有更好的方法来完成任务,但对许多事情都有严格的限制
感谢那些可以提供帮助的人!