Я использую VS2005 c #.
У меня есть эта функция для преобразования текстовых файлов с разделителями трубы в формат Excel.
Файлы будут сохранены в C: \ ofПК пользователя .
Однако, когда я развернул свое веб-приложение на тестовом сервере, вместо этого файлы сохраняются в C: \ тестового сервера.
Ниже приведен мойфрагмент кода, могу ли я узнать, как я могу изменить его для сохранения на компьютере пользователя, а не на сервере, или, если возможно, показать всплывающее сообщение для пользователя, чтобы открыть / сохранить файл.Спасибо
if (TextFile.HasFile)
{
string strFileName = Server.HtmlEncode(TextFile.FileName);
string strExtension = Path.GetExtension(strFileName);
string activeDir = @"C:\";
string newPath = System.IO.Path.Combine(activeDir, "App_Converted");
System.IO.Directory.CreateDirectory(newPath);
string strExcelOutputFilename = "C:/App_Converted/" + xlExtension;
using (StreamWriter outputWriter = new StreamWriter(File.Create(strExcelOutputFilename)))
{
StreamReader inputReader = new StreamReader(TextFile.FileContent);
while (inputReader.Peek() >= 0)
{
string[] myInputFields = inputReader.ReadLine().Split(new char[] { '|' });
List<string> myOutputFields = new List<string>();
foreach (string aField in myInputFields)
{
string oField = aField;
if (oField.Contains(","))
oField = "\"" + oField + "\"";
myOutputFields.Add(oField);
}
outputWriter.WriteLine(string.Join(",", myOutputFields.ToArray()));
}
inputReader.Close();
UploadStatusLabel.Text = "File stored at [C:/App_Converted/] as file name [namelist.csv]";
Response.Clear();
Response.ContentType = "application/vnd.xls";
Response.AddHeader("Content-Disposition", "attachment;filename=namelist.csv");
StringWriter swriter = new StringWriter();
HtmlTextWriter hwriter = new HtmlTextWriter(swriter);
Response.Write(swriter.ToString());
Response.End();
return;
}
РЕДАКТИРОВАТЬ:
Обновлен код с окнами сохранения.Однако я не знаю, как связать конвертированный файл с окнами сохранения.Нужна помощь здесь.Выше мой обновленный код.