1.写好服务器路径:(之前一直纠结,我用本地的IIS进行浏览系统,那么我文件上传要上传到服务器上,那么我不知道服务器路径是什么啊,其实,用IIS打开系统,其实在服务器上也是同样的啊,都是获取IIS上的IP地址(即指向你发布的网站的文件夹),然后你在代码中获取的AppDomain.CurrentDomain.BaseDirectory 这种地址,其实不管是在本地,还是服务器上都是一样的啊,你现在在本地用这个方式取到的地址,然后上传图片,保存的路径前面的这段,与在服务器上发布之后,在服务器上上传文件,其实只是IP变了,你上传到本地成功,就是上传到服务器上成功,变化的不是你上传的动作,而是IP的改变,所以只要你这样取,就是一样的。)
string URL = AppDomain.CurrentDomain.BaseDirectory + ConfigurationManager.AppSettings["UploadPicturePath"]; //文件存放路径
2.获取本地文件名:
string fn = Path.GetFileName(image.FileName).ToString();
3.获取扩展名:
string extension = fn.Split('.')[fn.Split('.').Length - 1];
4.重新生成文件名:
string filename = string.Format("{0}{1}", DateTime.Now.ToString("yyyyMMddHHmmss"), SchoolProfileHelper.BuildRandomStr(6)) + "_Strategy." + extension;
5.用HttpPostedFileBase image 类放到参数中,然后用image.SaveAs(URL+filename)即,保存到了服务器上。
6.写入数据库的URL: model.ImageUrl = URL + filename;