菜鸟~请教图片上传问题~~
protected void btnfileup_Click(object sender, EventArgs e)//上传图片
{
string strext;
int filelength;
string strName;
int intext;
string struppath;
if (fileimg.PostedFile.ContentLength > 0)
{
try
{
filelength = fileimg.PostedFile.ContentLength;
strName = fileimg.PostedFile.FileName;
intext = strName.LastIndexOf(".");
strext = strName.Substring(intext);
System.Drawing.Image image;
if (filelength > 3000000)
{
Response.Write("<script>alert('图片大于300K,无法上传')</script>");
}
else
{
struppath = @"..\img\";
if (strext == ".jpg" || strext == ".gif")
{
if (!System.IO.Directory.Exists(Server.MapPath(struppath)))
{
System.IO.Directory.CreateDirectory(Server.MapPath(struppath));
}
string strurl = Server.MapPath(struppath+@"\"+fileimg.FileName);
fileimg.SaveAs(strurl);
image = System.Drawing.Image.FromFile(strurl);
image.Dispose();
Image1.ImageUrl = @"..\img\" + fileimg.FileName;
//Response.Write("<script>alert('上传成功!')</script>");
}
else
{
Response.Write("<script>alert('图片上传失败!格式必须为.jpg或.gif')</script>");
}
fileimg.SaveAs(Server.MapPath(fileimg.FileName));
}
}
catch (Exception ex)
{
Response.Write(ex.Message);
Response.Write("<script>alert('" + ex + "')</script>");
}
}
else
{
Response.Write("<script>alert('请先选择上传图片的路径!')<script>");
}
}
protected void btnadd_Click(object sender, EventArgs e)//添加进数据库
{
string title = TextBox1.Text;
string count = TextBox2.Text;
string pic = Server.MapPath(fileimg.FileName);
string sql = "insert into Commentary valuse('" + title + "','" + count + "','" + pic + "')";
SqlCommand cmd = new SqlCommand(sql,conn);
try
{
conn.Open();
cmd.ExecuteNonQuery();
Response.Redirect("~/adminAdd/Ok.aspx");
}
catch (Exception ex)
{
Response.Write("<script>alert('添加失败!')</script>");
Response.Write("<script>alert('" + ex.Message + "')</script>");
}
finally
{
conn.Close();
}
}
问题:
我点了上传了图片后~上传控件中的路径就消失了~导致无法存如数据库.
如何点了后保存住路径
还有
保存进数据库时如何能把前面的E:/..这东西去掉..该如何改呢,,
请各位指教..谢了..
[解决办法]
我点了上传了图片后~上传控件中的路径就消失了~导致无法存如数据库.
========
如果没出错误的话,就能够保存到数据库中。
向数据库存的时候,存相对路径,而不是绝对路径,所以就不存在什么E:/类的问题了。
[解决办法]
http://topic.csdn.net/u/20080220/14/50bc397d-2260-4a2d-954e-4d41bb9ea6a1.html
[解决办法]
我猜也许是应用在ajax下吧,那请加上下面一代code:
<Triggers>
<asp:PostBackTrigger ControlID="btnfileup" />
</Triggers>
另外,请参考上传的完整例子:
http://blog.csdn.net/insus/archive/2008/01/20/2055030.aspx