C#+Asp.net开发用FileUpload上传图片时遇到以下问题:

在本地可以实现将图片转化成二进制后上传至本地sqlserver数据库,在库中字段为:pattern(Image类型),但当客户端在非本机所在服务器上运行时,上传出现问题,我想将图片直接上传至服务器数据库,就像qq客户上传头像一样。已得知是上传路径出现问题:即上传时是在服务器上查找我要上传的图片,当然找不着了。代码如下:/*将图片转化成二进制形式*/ string strCon = System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString"].ToString(); SqlConnection conn = new SqlConnection(strCon); conn.Open(); Stream fs = fu_pattern.PostedFile.InputStream; BinaryReader br = new BinaryReader(fs); byte[] PhotoArray = br.ReadBytes((int)fs.Length); br.Close(); fs.Close(); ///*将图片上传至服务器*/ string PhotoType = new FileInfo(fu_pattern.PostedFile.FileName).Extension; //获取文件扩展名 /*将新增商标存入数据库*/ SqlCommand cmd = conn.CreateCommand(); cmd.CommandText = "insert into table1 (pattern) values (@pattern)"; cmd.CommandType = CommandType.Text; if (PhotoType == ".jpg" || PhotoType == ".gif" || PhotoType == ".bmp" || PhotoType == ".png") { cmd.Parameters.Add("@pattern", SqlDbType.Image,PhotoArray.Length).Value = PhotoArray; int flag = cmd.ExecuteNonQuery(); } else { lbl_msg.Text = "图片格式不正确!"; } } conn.Close();

我看你下面发的图片,数据库操作应该没出问题吧
然后上传图片的路径
比如/upload/img/1.jpg
你上传前要把这个web相对路径转化成物理的绝对路径再上传
当然数据库保存的是这个相对路径/upload/img/1.jpg
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-08-02
报什么错?追问

我在本地服务器上调试不报错,一切功能军能实现,但将程序部署到其他服务器上,在任意一台电脑上登陆客户端,就上传不了图片了,就是路径问题!代码不会写了。

追答

不知道你在服务器上存放图片的目录里有分配权限没

相似回答