在服务器上检索提交的 PDF 表单
Retrieve submitted PDF form on server
我创建了一个带有提交按钮的 PDF 表单,该按钮将其发送到我的网站,对其进行处理并存储以备后用。
在我的网站上,我想获取已发布的 pdf 并保存。但是,我找不到如何将传入流转换回 PDF。
这是我目前拥有的代码
[HttpPost]
public string PostPDF()
{
using (var sr = new System.IO.StreamReader(Request.InputStream))
{
var fdfStream = sr.ReadToEnd();
}
...
return "Form submitted successfully!";
}
我尝试的其他事情是接收一个 httpPostedFileBase 和一个 byte[],像这样:
[HttpPost]
public ActionResult PostPDF(HttpPostedFileBase file)
[HttpPost]
public ActionResult PostPDF(byte[] file)
两者都是空结果。
下面的代码应该可以完成这项工作。
HttpRequestMessage request = this.Request;
if (!request.Content.IsMimeMultipartContent())
{
throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType);
}
var parts = await request.Content.ReadAsMultipartAsync();
Stream inputStream = null;
string fname = null;
foreach (var part in parts.Contents)
{
string dispoName = part.Headers.ContentDisposition.Name;
if (dispoName.Equals("\"inputFile\""))
{
fname = part.Headers.ContentDisposition.FileName;
inputStream = await part.ReadAsStreamAsync();
}
}
if (inputStream == null)
{
throw new HttpResponseException(HttpStatusCode.BadRequest);
}
我创建了一个带有提交按钮的 PDF 表单,该按钮将其发送到我的网站,对其进行处理并存储以备后用。
在我的网站上,我想获取已发布的 pdf 并保存。但是,我找不到如何将传入流转换回 PDF。
这是我目前拥有的代码
[HttpPost]
public string PostPDF()
{
using (var sr = new System.IO.StreamReader(Request.InputStream))
{
var fdfStream = sr.ReadToEnd();
}
...
return "Form submitted successfully!";
}
我尝试的其他事情是接收一个 httpPostedFileBase 和一个 byte[],像这样:
[HttpPost]
public ActionResult PostPDF(HttpPostedFileBase file)
[HttpPost]
public ActionResult PostPDF(byte[] file)
两者都是空结果。
下面的代码应该可以完成这项工作。
HttpRequestMessage request = this.Request;
if (!request.Content.IsMimeMultipartContent())
{
throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType);
}
var parts = await request.Content.ReadAsMultipartAsync();
Stream inputStream = null;
string fname = null;
foreach (var part in parts.Contents)
{
string dispoName = part.Headers.ContentDisposition.Name;
if (dispoName.Equals("\"inputFile\""))
{
fname = part.Headers.ContentDisposition.FileName;
inputStream = await part.ReadAsStreamAsync();
}
}
if (inputStream == null)
{
throw new HttpResponseException(HttpStatusCode.BadRequest);
}