我从后台上传图片到数据库后,数据库路径出了问题???

aspers 2008-11-25 12:08:50
我从后台上传图片到数据库后,数据库路径出了问题???
要想从前如读取数据库图片路径的话,路径前得加上一个image才可以读取,也就是数据库图片路径:image\xx.jpg
可是我上传后只有xx.jpg。总之怎样上传图片后数据库里有个image(image是在根目录下的)才可以啊!
代码如下:


  protected void Button2_Click(object sender, EventArgs e)
{
try
{
typeID = Convert.ToInt32(DropDownListtype.SelectedItem.Value);
}
catch (Exception)
{

typeID = 6;
}
if (DropDownList5.Text != "" && TextBox1.Text != "" && TextBox2.Text != "" && TextBox3.Text != "" && TextBox4.Text != "" && TextBox5.Text != "" && FreeTextBox1.Text != "")
{
string sql = "select count(*) from Books where bookName='" + TextBox1.Text.Trim().ToString() + "'";
int sqlcount = int.Parse(Class1.SelOne(sql));
if (sqlcount == 0)
{
filename = FileUpload1.FileName.ToString();
string filepath = Server.MapPath("image");
FileUpload1.SaveAs(filepath + "\\" + filename);
string sqlisert = "insert into Books(classid,classname,bookName,author,price,publish,publishDate,description,pictureurl,IsSelling) values(" + typeID + ",'" + DropDownList5.Text.Trim().ToString() + "','" + TextBox1.Text.Trim().ToString() + "','" + TextBox2.Text.Trim().ToString() + "'," + TextBox3.Text.Trim().ToString() + ", '" + TextBox4.Text.Trim().ToString() + "','" + TextBox5.Text.Trim().ToString() + "','" + FreeTextBox1.Text.Trim().ToString() + "','" + filename + "',0)";
Class1.ExecSql(sqlisert);
}
else
{
Response.Write("<scrip javalaguage='javascript'>alert('此书籍已经存在!');</script>");
}
}
else
{
Response.Write("<scrip javalaguage='javascript'>alert('请填写全部信息!');</script>");
}
Response.Redirect("Admin-guanli.aspx");

}
...全文
146 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
dengchenlu 2008-11-25
  • 打赏
  • 举报
回复
UP
aspers 2008-11-25
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 oec2003 的回复:]
在你的fliename 前面加上 image

或者保存图片名也可以 在取出的时候 再将路径 拼在图片名称的前面
[/Quote]

是这样吗?
image+filename = FileUpload1.FileName.ToString();
aspers 2008-11-25
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 Fibona 的回复:]
C# codeif (sqlcount == 0)
{
filename = FileUpload1.FileName.ToString();
string filepath = Server.MapPath("image");
string filesavePat=filepath + "\\" + filename;
FileUpload1.SaveAs(filesavePath);


string fileswebPath= filesavePath.Replace(System.Web.HttpContext.Current.Request.MapPath("~/image"), "/image/");

[/Quote]

原来这位兄弟的做法是把路径给存放一下就可以了!
真是受教了!!!
谢谢了!
我试试看!
aspers 2008-11-25
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wennxxin 的回复:]
string text="image"+textbox1.text.trim();
把text写如数据库;
[/Quote]

看这个方法也不错!
我试试再给分啊!呵呵!
oec2003 2008-11-25
  • 打赏
  • 举报
回复
在你的fliename 前面加上 image

或者保存图片名也可以 在取出的时候 再将路径 拼在图片名称的前面
5Br 2008-11-25
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wennxxin 的回复:]
string text="image"+textbox1.text.trim();
把text写如数据库;
[/Quote]
哦,还有个斜杠
string text="image/"+textbox1.text.trim();
最好用/
如果用\的话要用\\转义
Fibona 2008-11-25
  • 打赏
  • 举报
回复
if (sqlcount == 0)
{
filename = FileUpload1.FileName.ToString();
string filepath = Server.MapPath("image");
string filesavePat=filepath + "\\" + filename;
FileUpload1.SaveAs(filesavePath);


string fileswebPath= filesavePath.Replace(System.Web.HttpContext.Current.Request.MapPath("~/image"), "/image/");
fileswebPath= "/" + fileswebPath.Replace("\\", "/");
fileswebPath= fileswebPath.Replace("//", "/");

string sqlisert = "insert into Books(classid,classname,bookName,author,price,publish,publishDate,description,pictureurl,IsSelling) values(" + typeID + ",'" + DropDownList5.Text.Trim().ToString() + "','" + TextBox1.Text.Trim().ToString() + "','" + TextBox2.Text.Trim().ToString() + "'," + TextBox3.Text.Trim().ToString() + ", '" + TextBox4.Text.Trim().ToString() + "','" + TextBox5.Text.Trim().ToString() + "','" + FreeTextBox1.Text.Trim().ToString() + "','" + fileswebPath+ "',0)";
Class1.ExecSql(sqlisert);
}
5Br 2008-11-25
  • 打赏
  • 举报
回复
string text="image"+textbox1.text.trim();
把text写如数据库;
jiang_jiajia10 2008-11-25
  • 打赏
  • 举报
回复
2楼的不行么?
gongsun 2008-11-25
  • 打赏
  • 举报
回复
就存个文件名就可以了,显示图片的时候把路径给加上不就行了...
曾默 2008-11-25
  • 打赏
  • 举报
回复
来晚了 已经够多解决方法了 个人觉得2楼方法最好
mengxj85 2008-11-25
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 Fibona 的回复:]
C# codeif (sqlcount == 0)
{
filename = FileUpload1.FileName.ToString();
string filepath = Server.MapPath("image");
string filesavePat=filepath + "\\" + filename;
FileUpload1.SaveAs(filesavePath);


string fileswebPath= filesavePath.Replace(System.Web.HttpContext.Current.Request.MapPath("~/image"), "/image/");

[/Quote]
顶个

62,266

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧