代码:
public static bool SaveResourceFile(System.Web.UI.Page page, System.Web.HttpFileCollection hfc,string resourcePath)
{
for (int i = 0; (i < hfc.Count); i++)
{
HttpPostedFile file = hfc.Get(i);
if (file.ContentLength > 0)
{
try
{
if (!Directory.Exists(page.Server.MapPath(resourcePath)))
{
DirectoryInfo di = Directory.CreateDirectory(page.Server.MapPath(resourcePath));
}
if (file.FileName.LastIndexOf("\\") != -1)
{
fileName = file.FileName.Substring(file.FileName.LastIndexOf("\\")+1);
}
//将输入流转换成Byte[]
byte[] buffer = new byte[file.ContentLength];
file.InputStream.Read(buffer, 0, buffer.Length);
//存上传的文件
WriteFile(page.Server.MapPath(resourcePath + fileName), buffer);
}
catch (Exception err)
{
}
}
}
}
WriteFile方法的代码:{
for (int i = 0; (i < hfc.Count); i++)
{
HttpPostedFile file = hfc.Get(i);
if (file.ContentLength > 0)
{
try
{
if (!Directory.Exists(page.Server.MapPath(resourcePath)))
{
DirectoryInfo di = Directory.CreateDirectory(page.Server.MapPath(resourcePath));
}
if (file.FileName.LastIndexOf("\\") != -1)
{
fileName = file.FileName.Substring(file.FileName.LastIndexOf("\\")+1);
}
//将输入流转换成Byte[]
byte[] buffer = new byte[file.ContentLength];
file.InputStream.Read(buffer, 0, buffer.Length);
//存上传的文件
WriteFile(page.Server.MapPath(resourcePath + fileName), buffer);
}
catch (Exception err)
{
}
}
}
}
public static void WriteFile(string fileName,byte[] buf)
{
FileStream f = File.OpenWrite(fileName);
f.Write(buf,0,buf.Length);
f.Close();
}
{
FileStream f = File.OpenWrite(fileName);
f.Write(buf,0,buf.Length);
f.Close();
}
实现客户端多文本上传服务器容易产生错误的地方是客户端文件路径和服务器路径混淆不清,其他其实和简单