C# winform 本地选择图片把路径上传到数据库,怎么把绝对地址装换成相对地址?
C# winform 本地选择图片把路径上传到数据库,怎么把绝对地址装换成相对地址?
在picturebox下面有个选择本地的按钮,将在本地选择的图片显示在picturebox里面,将路径保存到数据库中,但保存的是绝对地址,怎么换成相对地址呢?
------解决方案--------------------截取字符串。。
------解决方案--------------------(1)复制该文件到image (C# 把文件拷贝到指定文件夹 )              
if(!System.IO.Directory.Exists(@"d:\你程序\imgage"))  
{  
// 目录不存在,建立目录  
System.IO.Directory.CreateDirectory(@"d:\你程序\imgage");  
}
String sourcePath = "e:\\源文件目录\\图片文件";
String targetPath = "d:\你程序\imgage";
bool isrewrite=true; // true=覆盖已存在的同名文件,false则反之
System.IO.File.Copy(sourcePath, targetPath, isrewrite);
(2)得到本地路径文件
  string fullNameNotExtName = System.Windows.Forms.Application.StartupPath.ToString() + "\\images" + 图片名称;
------解决方案--------------------选择文件的过程:
private void rmiAddPics_Click(object sender, System.EventArgs e)
		{
			System.Windows.Forms.OpenFileDialog  openFileDialog = new OpenFileDialog();
			openFileDialog.Filter =  "JPG files (*.JPG)|*.JPG|BMP files (*.BMP)|*.BMP" ;
			openFileDialog.FilterIndex = 1 ;			
			string strFile ="";
			string strDiy = "";
			if(openFileDialog.ShowDialog() == DialogResult.OK)
			{
				strFile=openFileDialog.FileName.ToString();				
				string fullNameNotExtName=System.IO.Path.GetFileNameWithoutExtension(strFile);		
				strDiy=System.IO.Path.GetDirectoryName(strFile);
				//FileInfo fi = new FileInfo(strFile);
				System.Drawing.Image image = Image.FromFile(strFile);				
				this.pictureBox1.Image=image;
				MemoryStream ms = new MemoryStream();
				image.Save(ms,image.RawFormat);
				byte[] serializedObject = ms.GetBuffer();
				Imgname=this.comboBox1.Text=fullNameNotExtName.Trim();                   
				Imgpath=strFile.Trim();
				Imgcode=serializedObject;
				ms.Close();
				this.comboBox1 .Enabled=false;
				openFileDialog.OpenFile().Close();
				openFileDialog.OpenFile().Flush();
			}
		}
------解决方案--------------------为什么不用流直接存进数据库呢?