У пользователя есть список файлов разного расширения. Когда он два раза кликает на файл, должна открываться соответствующая программа просмотра файла.
Делаю это так:
System.Diagnostics.Process.Start(Path.Combine(LocalFileManager.workingFolder, localFilePath));
Когда сервис установлен на другой машине, клиент ничего не увидит.
Как сделать чтобы соответствующая программа открывалась на клиенте?
Конечно, клиент ничего не увидит, потому что ваш код выполняется на стороне сервера. Для открытия вам нужно использовать средства JS (посмотрите, например, там и тут).
В итоге сделал так:
Метод WebApi:
[HttpGet]
public string GetFilePath(string fileName, Guid categoryId, Guid userId)
{
using (var _client = new DataServiceClient("epData"))
{
if (Properties.Settings.Default.Domain != "")
{
_client.ClientCredentials.Windows.ClientCredential.UserName = Properties.Settings.Default.Domain + "\\" + Properties.Settings.Default.Login;
_client.ClientCredentials.Windows.ClientCredential.Password = Properties.Settings.Default.Password;
}
_client.SetCurrentUser(userId);
var category = _client.GetAttachmentCategory(categoryId);
LocalFileManager.SetWorkingFolder(category);
}
var serverName = HttpContext.Current.Request.Url.GetLeftPart(UriPartial.Authority) + HttpContext.Current.Request.ApplicationPath;
var result = Path.Combine(serverName, LocalFileManager.shortWorkingFolder, fileName);
return result;
}
Т.е метод GetFilePath просто возвращает url путь к фалу на сервере.
А потом через Angularjs все как показано в этом примере (просто copy/paste): http://stackoverflow.com/questions/24080018/download-file-from-an-asp-net-web-api-method-using-angularjs
В IE 11 тоже работает как надо, если сделать как показано в Internet Explorer 11 Support (Fixed).
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Допустим необходимо реализовать следующую фичуУ меня есть GUI приложение со своей бизнес логикой
Подскажите пожалуйста, можно ли реализовать, и если да, то как, такую затеюTextBox, в нём маска на ввод трёх слов - ФИО
Допустим, имеется DataTable t1 с полями f1,f2,f3 и нужно, что бы DataAdapter произвел вот такое обновление на реальной БД:
при выводе строке вида str="строка1 <br/> строка2 " выводится строка целиком с отображением <br/>, те