Я впервые пишу код, который позволяет пользователю загружать файл, загруженный другим пользователем.
Я написал ASHX-файл download.ashx с кодом, который выглядит следующим образом:
s = context.Request.QueryString.ToString();
byte[] buffer = new ReplacementTicketFileIO().GetSpecifiedFile(s);
context.Response.BinaryWrite(buffer);
context.Response.Flush();
context.Response.End();
Когда пользователь щелкает ссылку на файл download.ashx с соответствующей строкой запроса, файл загружается, но браузер хочет отобразить содержимое в окне браузера. Если пользователь щелкает правой кнопкой мыши по ссылке, он может загрузить файл, но по умолчанию имя файла - download.ashx.
Я бы хотел сделать две вещи:
1) Я хотел бы иметь возможность указать имя по умолчанию для файла, загружаемого на устройство пользователя, на основе строки запроса.
Например, если пользователь нажимает на файл download.ashx? Connectedfile = car.pdf, я бы хотел, чтобы браузер по умолчанию использовал car.pdf для имени этого файла.
2) Я бы хотел, чтобы браузер по умолчанию сохранял ссылку, а не открывал ссылку в окне браузера.
Разумно ли мне хотеть это делать или есть лучший способ загрузки файлов? Пожалуйста, дайте мне знать.