在服务器上检索提交的PDF表单

时间:2016-09-16 21:18:06

标签: c# pdf model-view-controller acrobat

我创建了一个带有提交按钮的PDF表单,该按钮将其发送到我的网站,该网站对其进行处理并存储以供以后使用。

在我的网站上,我想采用POSTed 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)

两者都是空的结果。

1 个答案:

答案 0 :(得分:1)

下面的代码可以完成这项工作。

        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);
        }