У меня есть гибкое веб-приложение, которое, когда пользователь нажимает кнопку, делает вызов службы на сервер. Внутри вызова службы создается пользовательский объект-экспортер, и в этом объекте создается файл PDF с помощью iTextSharp. Я хочу, чтобы иметь возможность генерировать URL-адрес местоположения файла в этом вызове службы и передавать его обратно в приложение flex для использования с FileReference.download(). Сервисный вызов просто получает объект, который содержит данные, необходимые для PDF, из идентификатора, переданного функции, создает объект-экспортер и отправляет обратно путь к файлу. Внутри функции экспортном объекта экспортера это выглядит так:Создать URL-адрес для загрузки динамически сгенерированного файла на сервере
this.ObjectId = object.Id;
Document doc = new Document();
PdfWriter writer = PdfWriter.GetInstance(doc, new FileStream("C:/temp/TestBoth.pdf", FileMode.Create));
MyPageEventHandler e = new MyPageEventHandler(this.ObjectId);
writer.PageEvent = e;
doc.Open();
this.ExportThingOne(object, true, doc, writer);
doc.NewPage();
this.ExportThingTwo(object, true, doc);
doc.Close();
System.Web.UI.Page page = new System.Web.UI.Page();
string serverPath = page.Server.MapPath("C:/temp/TestBoth.pdf");
return serverPath;
Файл генерируется совершенно в C: /temp/TestBoth.pdf на моей локальной машине (только тестирование вещи локально перед нажатием на действительном сервере), однако Я получаю исключение, когда я пытаюсь выполнить page.Server.MapPath("C:/temp/TestBoth.pdf");
. Я пропустил какой-то шаг, чтобы установить сервер страницы на что-то или есть еще один способ получить путь к серверу?
Я никогда не работал с сохранением файла в «поле varbinary в базе данных», не могли бы вы привести пример такой вещи? – user2216177