在项目是,需要将图片保存到另外一台服务器上,很痛苦!
最后通过FileInfo实现!
/// <summary> /// 保存文件到远程服务器 /// </summary> /// <param name="filepath1">文件路径,通常通过FileUpLoad.PostedFile.FileName得到</param> public void CopyPic(string filepath1) { string filepath = filepath1; if (filepath == string.Empty) { //MessageBox.Show("图片路径不能为空!"); return; } FileInfo info = new FileInfo(filepath); string imgpath = "PCPersonnel/"; string dirpath = "//192.168.0.250/U_HomeImage/" + imgpath; try { if (!Directory.Exists(dirpath)) { Directory.CreateDirectory(dirpath); } info.CopyTo(dirpath + info.Name, true); //txtSingle.Text = imgpath + info.Name; //MessageBox.Show("图片上传成功!"); } catch (Exception ex) { //lblShow.Show(); //this.lblShow.Text = "图片上传失败,失败原因:" + ex.Message; } }
如果保存图片在本地更简单了
///fileLoad为FileUpLoad文件 if (this.fileLoad.FileName.Length > 0) { if (!Directory.Exists(Server.MapPath("picture/PCPersonnel"))) Directory.CreateDirectory(Server.MapPath("picture/PCPersonnel")); //this.DeletePicture(); HttpPostedFile hpf = this.fileLoad.PostedFile; string strext = new FileInfo(hpf.FileName).Extension; Random rad = new Random(5); string strpath = string.Format("{0}-{1:X4}-{2:X8}{3}", "" + DateTime.Now.ToString("yyyyMMddHHmmss"), DateTime.Now.Millisecond, rad.GetHashCode(), strext); hpf.SaveAs(Server.MapPath("picture/PCPersonnel/" + strpath)); //this.Picture.InnerText = strpath; picPath = "PCPersonnel/" + strpath; }