サーバルートからイメージを返そうとしていますが、0バイトを取得しています。私はそれが私がどのようにMemoryStream
を使用しているかと関係があると考えています。ここに私のコードです:私はPdfToImages
メソッドが動作していることを確認したデバッグを通じRoute Cからデータを受信していない
[HttpGet]
[Route("edit")]
public async Task<HttpResponseMessage> Edit(int pdfFileId)
{
var pdf = await PdfFileModel.PdfDbOps.QueryAsync((p => p.Id == pdfFileId));
IEnumerable<Image> pdfPagesAsImages = PdfOperations.PdfToImages(pdf.Data, 500);
MemoryStream imageMemoryStream = new MemoryStream();
pdfPagesAsImages.First().Save(imageMemoryStream, ImageFormat.Png);
HttpResponseMessage response = new HttpResponseMessage();
response.Content = new StreamContent(imageMemoryStream);
response.Content.Headers.ContentType = new MediaTypeHeaderValue("image/png");
response.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")
{
FileName = pdf.Filename,
DispositionType = "attachment"
};
return response;
}
とそのimageMemoryStream
がそれを実行するに
pdfPagesAsImages.First().Save(imageMemoryStream, ImageFormat.Png);
しかしラインからのデータで埋めます、私は、添付ファイルを受信します正しく指定されていますが0バイトです。ファイル全体を受け取るためには何を変更する必要がありますか?私はそれが何かシンプルだと思っていますが、私は何がわかりません。前もって感謝します。
多分あなたは0にストリームの位置を設定する必要がありますか? 'imageMemoryStream.Position = 0;' –