System.Web.HttpFileCollection未实现Add(System.Web.HttpPostedFile)

时间:2014-11-28 12:30:01

标签: c# web-services asp.net-mvc-4

我在我的网络服务中创建了一个Web方法来从客户端上传文件,但是当我运行我的Web服务文件时它会出错。错误是:

  

要成为XML可序列化,从ICollection继承的类型必须具有   各级的Add(System.Web.HttpPostedFile)实现   他们的继承等级。 System.Web.HttpFileCollection没有   实现Add(System.Web.HttpPostedFile)。

这是我的asmx代码:

ASMX

 [WebMethod]
    public void Database(HttpFileCollection File_Collection)
    {

        using (Database1Entities SampleDb = new Database1Entities())
        {
            foreach (char File_Uploader in File_Collection)
            {
                HttpPostedFile Posted_File = File_Collection[File_Uploader];
                if (Posted_File.ContentLength > 0)
                {
                    BinaryReader Binary_Reader = new BinaryReader(Posted_File.InputStream);
                    byte[] File_Buffer = Binary_Reader.ReadBytes(Posted_File.ContentLength);
                    SampleDb.UploadFiles.Add(new UploadFile
                    {
                        Name = Posted_File.FileName,
                        ContentType = Posted_File.ContentType,
                        Extension = Path.GetExtension(Posted_File.FileName),
                        Size = Posted_File.ContentLength,
                        Content = File_Buffer
                    });
                }
            }
            SampleDb.SaveChanges();
        }
        GetUploadedFiles();
    }
    }

从客户端我调用的方法如下:

 protected void BtnUploadFile_Click(object sender, EventArgs e)
    {   
           HttpFileCollection File_Collection = Request.Files;
           objSer.Database(File_Collection);
   }

任何人都可以帮忙吗?

0 个答案:

没有答案