首先在WebConfig文件中建立:
<configuration>
<appSettings>
<add key="imgPath" value="Images\"></add>
</appSettings>
它是保存图片的文件夹。
实现方法是:
/// <summary>
/// 客户端上传图片发至服务器指定文件夹
/// 并获得保存至服务器数据库的相对路径
/// </summary>
/// <param name="file">客户端HtmlInputFile控件的对象</param>
/// <returns>如果成功返回相对路径字符串否则为错误提示字符串</returns>
public string updateImage(System.Web.UI.HtmlControls.HtmlInputFile file)//,string path
{
string [] imgType = new string[] { "image/gif", "image/jpg", "image/png", "image/bmp" };
int i = 0;
bool blean = false;
string message = string.Empty;
//判断是否为Image类型文件
while(i<imgType.Length)
{
if(file.PostedFile.ContentType.Equals(imgType[i].ToString()))
{
blean = true;
break;
}
else if(i == (imgType.Length - 1))
{
break;
}
else
{
i++;
}
}
//对获得的路径进行分析处理
switch(blean)
{
case true:
//服务器路径
string serverpath = System.Web.HttpContext.Current.Server.MapPath(".")+"//";
//上传和返回(保存到数据库中)的路径
string uppath = string.Empty,savepath = string.Empty;
//创建图片新的名称
string nameImg = DateTime.Now.ToString("yyyyMMddHHmmss");
//获得上传图片的路径
string strPath = file.Value;
//获得上传图片的类型(后缀名)
string type = strPath.Substring(strPath.LastIndexOf(".")+1).ToLower();
//拼写数据库保存的相对路径字符串
savepath = "..\\" + System.Configuration.ConfigurationSettings.AppSettings["imgPath"].ToString();
savepath += nameImg + "."+ type;
//拼写上传图片的路径
uppath = System.Web.HttpContext.Current.Server.MapPath("~/");
uppath += System.Configuration.ConfigurationSettings.AppSettings["imgPath"].ToString();
uppath += nameImg + "." + type;
//上传图片
file.PostedFile.SaveAs(uppath);
message = savepath;
break;
case false:
message = "您上传的为非图片请重新选择!";
break;
default:break;
}
return message;
}
然后调用此方法就可以了。很简单的!