Я пытаюсь загрузить и запустить файл на клиентской машине. Клиент знает об этом. Это файл ttkgp, который динамически генерируется. Я попытался использовать Processs.Start(), который отлично работал на моем локальном компьютере (сначала сохранил файл в C: \, а затем запустил его), но он не работает с сервером. Это не мой сервер, а хостинг. Они пытаются помочь, но пока не повезло. Я видел этот код:Загрузите и запустите файл на клиентской машине с помощью asp.net
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 контекст», я понятия не имею, если он работает. Необходимо ли изменить некоторые серверные превалирования? или просто этот код будет делать трюк?
Спасибо
UPDATE (24.6.12): Я почти закончил с этой проблемой, все, что мне сейчас нужно знать, как открыть HTML-страницу в новой вкладке/окне и закрыть его второй позже , Как только я закончу, я отправлю обратно весь процесс, я уверен, что это поможет другим людям.
UPDATE (26.6.12): Вот что я получил: Цель состоит в том, чтобы загрузить файл TTKGP из asp.net Webiste на локальной машине пользователя и запустить его. Шаг 1: создать файл с кодом behaind (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: Я знаю, что это проблема безопасности, сайт только для известного пользователя не открытое публичного Примечания 2: Я знаю, что есть лучшие способы выполнения задачи, но существует строгие limitaions на многих вещах
Спасибо за то, что может помочь!
Сервер не может запустить процесс на клиенте! Какая проблема безопасности, если это возможно. Напишите приложение клиент/сервер, если вы хотите сделать что-то вроде этого. –