none
在VS用FileUpload 控件上传到sharepoint 中mysite里面的 Shared Pictures 这里文件夹里面 报错了! RRS feed

  • 问题

  • 我的代码:
    /// <summary>
    
    
    
            /// 上传文件
    
    
    
            /// </summary>
    
    
    
            /// <param name="Folder">上传到文件夹[我传的参数是:Shared Pictures ]</param>
    
    
    
            /// <param name="fu">文件信息</param>
    
    
    
            /// <returns></returns>
    
    
    
            protected bool UploadFile(string Folder, HttpPostedFile fu)
    
    
    
            {<br/>            //这里用的是mysite的地址
    
    
    
                using (SPSite site = new SPSite(<a href="http://jianghao:9000/personal/hao_jiang/default.aspx">http://jianghao:9000/personal/hao_jiang/default.aspx</a><a href="http://jianghao:9000))">))
    
    
    
    </a>            {
    
    
    
                    using (SPWeb web = site.RootWeb)
    
    
    
                    {
    
    
    
                        //设置 允许不安全的更该
    
    
    
                           site.WebApplication.FormDigestSettings.Enabled = false;
    
    
    
                        web.Site.WebApplication.FormDigestSettings.Enabled = false;
    
    
    
                        site.AllowUnsafeUpdates = true;
    
    
    
                        web.AllowUnsafeUpdates = true;
    
    
    
                       //得到SP的文档库
    
    
    
                           SPDocumentLibrary spdl = web.Lists[Folder] as SPDocumentLibrary;
    
    
    
                        SPFolder rooFolder = spdl.RootFolder;
    
    
    
                        //得到文件流
    
    
    
                           FileStream fStream = new FileStream(fu.FileName, FileMode.Open,FileAccess.ReadWrite);
    
    
    
                        byte[] contents = new byte[fStream.Length];
    
    
    
                        fStream.Read(contents, 0, (int)fStream.Length);
    
    
    
                        fStream.Close();
    
    
    
                        try
    
    
    
                        {
    
    
    
                         //这里需要判断 存在 就删除
    
    
    
                            uploadPath =  rooFolder.ServerRelativeUrl + "/" + System.IO.Path.GetFileName(fu.FileName);
    
    
    
                         //保存地址
    
    
    
                            //web.Files.Add(uploadPath, contents);
    
    
    
                            rooFolder.Files.Add(uploadPath, contents);
    
    
    
                            rooFolder.Update();
    
    
    
                            web.Site.WebApplication.FormDigestSettings.Enabled = true;
    
    
    
                            site.WebApplication.FormDigestSettings.Enabled = true;<br/>                        return true;
    
    
    
                        }
    
    
    
                        catch (Exception)
    
    
    
                        {
    
    
    
                            return false;
    
    
    
                        }
    
    
    
                    }
    
    
    
                }
    
    
    
            }<br/><br/>
    
    
    
    
    这段代码在我本地运行可以把图片上传到 mysite 的Shared Pictures 下面,但是别人访问我的sharepoint地址来上传图片就会报"Could not find a part of the path "X \ 1.jpg"!
    请教一下高手们! 谢谢!
    Anything Is Possible !
    2010年1月25日 4:18

答案

  • 问题已解决!FileStream 只能读出本地文件!需要用fileupload控件的saveas方法先保存到本地,在用FileStream 读取字节流!
    Anything Is Possible !
    • 已标记为答案 Jiang Hao 2010年1月27日 14:48
    2010年1月27日 14:48