将文件上传到SP时出错 - 找不到文件:c:\ windows \ system32 \ inetsrv \

时间:2014-10-28 16:19:14

标签: sharepoint-2010 filestream

我使用以下代码将文件上传到SharePoint文档库:

string fileToUpload = oFile.PostedFile.FileName;

using (SPSite oSite = new SPSite(spsite))
{
   using (SPWeb oWeb = oSite.OpenWeb())
   {
       SPList library = oWeb.Lists[documentLibraryName];
       using (FileStream fs = new FileStream(fileToUpload, FileMode.Open))
       {
         //more logic here

这在我的开发环境中工作正常,但当我将其移至QA时,我在尝试上传文件时收到以下错误:

System.IO.FileNotFoundException: 
Could not find file 'c:\windows\system32\inetsrv\file_to_upload'.

我已经google了,似乎我可能需要使用PostedFile.InputStream而不是PostedFile.Name。

但是如果设置fileToUpload等于oFile.PostedFile.InputStream,那么我就不能再使用这段代码了:

using (FileStream fs = new FileStream(fileToUpload, FileMode.Open))

我仍然希望使用此代码,因为我需要稍后在我的代码中访问fs.name。

知道如何解决这个问题?