SharePoint 上传附件二

上一篇(SharePoint 上传附件)文章最后遇到的问题是为什么可以通过控件的FileBytes来获取文件流,而自己通过byte[]和Stream从PostedFile中却无法获得文件字节。

查过一些文档后发现有可能是这几种原因造成的:

1、 页面 form 参数enctype 设置不对. 要加入enctype= "multipart/form-data ";

2、input type=file 至少有一个是需要添加 runat="server",这样后台才能拿到数据

3、form中可能用了Ajax;

对于第2、3、条原因已经排除,第1条在Sharepoint页面中(指定了Master页)也不方便更改,值得怀疑的是,我在普通的ASPX页面中也没有做任何设置,就可以通过Stream获取PostedFile的字节;

不过偶然发现Sharepoint下面却可以通过SaveAs的方法来将上传文件保存到服务器的文件系统,而不是数据库。

实现多文件上传,先将欲上传文件通过Request.Files[index].SaveAs方法保存到wpresources文件夹下的一个目录中,而后通过Stream获取这些文件的字节保存至SPListItem的Attachments属性下,最后再删除这个临时文件夹:

Code
posted @ 2009-04-08 11:24  JerryShi  阅读(933)  评论(1编辑  收藏  举报