ユーザーがコンピューターと携帯電話の両方でさまざまな種類の PDF を生成できる PDF Web アプリを作成しました。ただし、ローカルホストでプログラムを実行しています。これが、コンピューターのファイルディレクトリに基づいて PDF を保存する方法です。
var output = new FileStream(Path.Combine("C:\\Users\\apr13mpsip\\Downloads", filename), FileMode.Create);
ただし、webapp を azure に公開すると、コンピューターと携帯電話の両方からダウンロードできませんでした。したがって、デフォルトのファイルディレクトリが原因である可能性があると思います。
したがって、すべてのコンピューターと携帯電話のデフォルトのファイル ディレクトリを作成する方法を教えてください。
それとも、webapp をオンラインで公開するときに必要なものを省略したのでしょうか。
ありがとう。
PS : デフォルトのファイル パスをハードコーディングして、localhost でアプリケーションをテストし、完全な動作状態を確保しました。したがって、すべてのモバイル/コンピューター ユーザーが PDF をダウンロードしようとしたときに、通常のハードコードされたファイル パスではなく、デフォルトの共通ファイル ディレクトリを見つける方法を見つけています。
アップデート
メソッド Server.MapPath を使用しようとしましたが、エラーが発生します。
var doc1 = new Document();
var filename = Server.MapPath("~/pdf") + "MyTestPDF" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + ".pdf";
// var output = new FileStream(Path.Combine("C:\\Users\\apr13mpsip\\Downloads", filename), FileMode.Create);
//iTextSharp.text.pdf.PdfWriter.GetInstance(doc1, output);
using (var output = File.Create(filename))
{
iTextSharp.text.pdf.PdfWriter.GetInstance(doc1, output);
}
doc1.Open();
これは私が受け取ったエラーです
ObjectDisposedException was unhandled by user code
Cannot access a closed file.