- ファイルストリームを使用して保存する方法:
[HttpPost]
public async Task<IActionResult> SavePdfFile(IFormFile file)
{
if (file == null || file.Length == 0)
{
return BadRequest("ファイルがアップロードされていません。");
}
var filePath = Path.Combine(Directory.GetCurrentDirectory(), "保存先フォルダのパス", file.FileName);
using (var stream = new FileStream(filePath, FileMode.Create))
{
await file.CopyToAsync(stream);
}
return Ok("ファイルが正常に保存されました。");
}
- ライブラリを使用して保存する方法:
PdfSharpというPDF処理ライブラリを使用する場合、NuGetパッケージ「PdfSharpCore」をインストールしてください。
using PdfSharpCore.Pdf;
using PdfSharpCore.Drawing;
[HttpPost]
public IActionResult SavePdfFile()
{
var document = new PdfDocument();
var page = document.AddPage();
var gfx = XGraphics.FromPdfPage(page);
// PDFに描画するコードを記述
var filePath = Path.Combine(Directory.GetCurrentDirectory(), "保存先フォルダのパス", "ファイル名.pdf");
document.Save(filePath);
return Ok("ファイルが正常に保存されました。");
}
- サードパーティのライブラリを使用して保存する方法:
iTextSharpというPDF処理ライブラリを使用する場合、NuGetパッケージ「iTextSharp」をインストールしてください。
using iTextSharp.text;
using iTextSharp.text.pdf;
[HttpPost]
public IActionResult SavePdfFile()
{
var document = new Document();
var filePath = Path.Combine(Directory.GetCurrentDirectory(), "保存先フォルダのパス", "ファイル名.pdf");
var writer = PdfWriter.GetInstance(document, new FileStream(filePath, FileMode.Create));
document.Open();
// PDFに描画するコードを記述
document.Close();
return Ok("ファイルが正常に保存されました。");
}
これらは、.NET Core Web APIでPDFファイルをローカルフォルダに保存するためのいくつかの方法です。お好みの方法を選択して、必要に応じてカスタマイズしてください。