ユーザーがボタンを押すと、サーバーにサービス呼び出しを行うフレックス Web アプリがあります。サービス呼び出し内で、カスタム エクスポーター オブジェクトが作成され、そのオブジェクトで iTextSharp を使用して PDF ファイルが生成されます。そのサービス呼び出しでファイルの場所への URL を生成し、それを Flex アプリに戻して FileReference.download() で使用できるようにしたいと考えています。サービス呼び出しは、関数に渡された ID から PDF に必要なデータを保持するオブジェクトを取得し、エクスポーター オブジェクトを作成して、ファイル パスを返します。エクスポーター オブジェクトのエクスポート関数内では、次のようになります。
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");
。ページのサーバーを何かに設定する手順がありませんか、それともサーバー パスを取得する別の方法がありますか?