【发布时间】:2012-08-06 08:22:16
【问题描述】:
我正在使用以下代码将图像文件上传到 SharePoint 文档库。该代码在本地运行良好,但一旦部署到服务器,我将异常作为文件未找到。
String fileToUpload = FlUpldImage.PostedFile.FileName; //@"C:\Users\admin.RSS\Desktop\Photos\me_skype.jpg";
String documentLibraryName = "SiteAssets";
if (!System.IO.File.Exists(fileToUpload))
throw new FileNotFoundException("File not found.", fileToUpload);
SPFolder myLibrary = web.Folders[documentLibraryName];
// Prepare to upload
Boolean replaceExistingFiles = true;
String fileName = CheckStringNull(txtFirstName.Text) + CheckStringNull(txtLastName.Text) + CheckDateNull(txtDOB) + System.IO.Path.GetFileName(fileToUpload); ;
if (fileName.Contains('/'))
{
fileName = fileName.Replace("/", "");
}
if (fileName.Contains(':'))
{
fileName = fileName.Replace(":", "");
}
FileStream fileStream = File.OpenRead(fileToUpload);
//Upload document
SPFile spfile = myLibrary.Files.Add(fileName, fileStream, replaceExistingFiles);
string url = site.ToString() + "/" + spfile.ToString();
if (url.Contains("="))
{
url = url.Split('=')[1];
}
//Commit
myLibrary.Update();
字符串fileupload包含URL为C:\Users\admin.RSS\Desktop\Photos\me.jpg 这个URL实际上是客户端系统,服务器端代码抛出异常,因为找不到文件。如何处理这个问题?
更新:
我删除了检查文件是否存在的代码行,现在我在FileStream fileStream = File.OpenRead(fileToUpload); 上得到了例外c:\windows\system32\inetsrv\20120605_133145.jpg cold not be found
请帮助。谢谢你
【问题讨论】:
-
我认为 C:\Users\admin.RSS\Desktop\Photos\me.jpg 是远程机器上的地址,
System.IO.File.Exists方法无法检查。 -
@Mazdak_SH 是的,它是远程机器上的地址,如何处理?
-
你会试试 Server.MapPath() 方法吗?
-
@Mazdak_SH 你的意思是说 Server.MapPath(fileToUpload); 吗?
-
你要检查文件是否存在,然后继续上传吗?
标签: asp.net image sharepoint file-upload filenotfoundexception