从表单提交pdf - HttpHandler Context.Request.Files [0]为空

时间:2016-10-17 18:35:18

标签: asp.net pdf ashx

我已经看到一些问题,人们似乎在为自己找到这个问题,所以我会自己问一下。

我有一个PDF,用户需要填写并签名,签署后,用户点击提交并将pdf发布到ASHX页面。我在页面上做的第一件事是:

public void ProcessRequest (HttpContext context) {
if (context.Request.Files.Count <= 0)
    {
        context.Response.Write("Error");
    }

每次运行时条件都会失败并且&#34;错误&#34;是写的。

编辑: 以下是PDF的提交方式:  PDF Submit

解决方案

感谢Joel的回答,我找到了答案。 PDF将作为System.IO.Stream发送到页面。使用:     Stream fs = context.Request.InputStream 我能够捕获PDF。这是我用来将PDF读入字节数组的最终代码。 `public void ProcessRequest(HttpContext context)     {

    using (Stream fs = context.Request.InputStream)
    {
        long len = fs.Length;

        try
        {

            using (BinaryReader br = new BinaryReader(fs))
            {
                byte[] bytes = br.ReadBytes((int)len);

                 //Rest of Code`

1 个答案:

答案 0 :(得分:0)

Acrobat或Reader提交的PDF是PDF的ASCII表示形式。您只需要将提交内容写入磁盘即可。