ASP.net图片和其他信息上传到sql数据库,在另外一个页面用gridview和image控件显示出来

我试了好多网络上的代码,都不成功,自己很迷惑,希望高手指点下图片已经可以上传到项目文件夹,文件的名称也已经存放到数据库表里面,先在就是没法把图片用image控件显示出来,... 我试了好多网络上的代码,都不成功,自己很迷惑,希望高手指点下
图片已经可以上传到项目文件夹,文件的名称也已经存放到数据库表里面,先在就是没法把图片用image控件显示出来,我把上传和存数据库的代码贴上来,希望能解决图片显示的问题~~谢谢咯!!!protected void btnUpPic_Click(object sender, EventArgs e)
{
string fullName = this.opanFile.Value;
string picName = fullName.Substring(fullName.LastIndexOf('\\') + 1);
string picType = fullName.Substring(fullName.LastIndexOf('.') + 1);
if (picType != "jpg" && picType != "gif" && picType != "bmp")
{
}
else
{

this.opanFile.PostedFile.SaveAs(Server.MapPath("img") + "\\" + picName);
AddPic(picName);
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "OK", "<script>alert('上传图片成功!')</script>");

}
}
展开
 我来答
百度网友c0e581c
2009-04-19 · TA获得超过116个赞
知道答主
回答量:312
采纳率:0%
帮助的人:170万
展开全部
给你说一个解决方法
上传就根据网上的方法介绍的
将文件上传到指定文件夹比如(upload)之后
获取到上传文件的文件名
只将文件名写入到数据库中
image控件读取的时候,讲image的url设置为“upload”+从数据库里读出的imgurl+;
调试的时候一定要注意相对路径的问题 通常图片不能正常显示都是这个问题
运行的时候设置一下断点 看看最终的url是什么就能知道错误在哪里了
祝你成功!
dwert
2009-04-21 · TA获得超过178个赞
知道答主
回答量:178
采纳率:0%
帮助的人:84.2万
展开全部
1.上传文件至文件夹,数据库存储路径
2.图片以二进制的形式存储进数据库
不知楼主想要实现哪种?
============================以下为补充=============================

=====================================上传==========================
/// <summary>
/// 获取图片名称
/// </summary>
private string GetimName()
{
if (FileUpload1.HasFile)
{
string fullFileName = this.FileUpload1.PostedFile.FileName; //获取上传文件的全名

string type = fullFileName.Substring(fullFileName.LastIndexOf(".") + 1); //获取上传文件的类型

if (type == "jpg" || type == "jpeg" || type == "gif" || type == "png") //判断文件的类型
{
string name;
Random r = new Random(System.Environment.TickCount);
int i = r.Next(100000, 999999);
name = (DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString() + DateTime.Now.Hour.ToString() + DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString() + i.ToString()) +"."+ type.ToString();
name = System.IO.Path.GetFileName(name);
FileUpload1.PostedFile.SaveAs(Server.MapPath("..\\..\\App_Themes\\ADim\\" + name));
return name;
}
else
{
ShowMess.Show("图片类型不符合要求,请上传jpg,jpeg,gif或者png格式的图片");
return "0";
}
}

else
{
ShowMess.Show("请选择需要上传的图片");
return "0";
}
}

=================================以下为绑定======================
<asp:DataList ID="DataList3" runat="server" DataKeyField="id"
DataSourceID="SqlDataSource1" ShowFooter="False"
ShowHeader="False" RepeatColumns="5" Width="100%">
<ItemTemplate>
<asp:Image ID="ImageButton1" ToolTip='<%# Eval("companyName", "{0}")%>' runat="server" Width="124px" Height="62px" ImageUrl='<%# Eval("logoName", "../App_ph/ADim/{0}")%>' /><%# Eval("companyName", "{0}") %> </ItemTemplate>
<ItemStyle HorizontalAlign="Center" VerticalAlign="Bottom" Font-Bold="False"
Font-Italic="False" Font-Overline="False" Font-Strikeout="False"
Font-Underline="False" Wrap="False" />
</asp:DataList>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友27bc069e2
2009-04-19 · TA获得超过152个赞
知道答主
回答量:229
采纳率:0%
帮助的人:142万
展开全部
const string uploadFile = "upload\\ProductKind\\"; //定义文件夹
string fullPath = this.Request.PhysicalApplicationPath + uploadFile; //获取uploadFile这个文件夹的路径
const string uploadType = ".gif,.jpg"; //上传文件的类型

fileoldname = this.txt_UploadImage1.FileName; //上传文件的名字
fileExtension = Path.GetExtension(fileoldname).ToLower(); //上传文件的后缀名
this.txt_UploadImage1.PostedFile.SaveAs(fullPath + "\\" + newName1);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zc20081989
2009-04-19 · 超过26用户采纳过TA的回答
知道答主
回答量:92
采纳率:0%
帮助的人:93.5万
展开全部
绑定控件就好了,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
拜振梅茅己
2019-10-13 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.2万
采纳率:25%
帮助的人:799万
展开全部
如果你的gridview名字叫做gv,那你就可以这么写。
(别忘了引用:using
system.date.sqlclient)把下面的代码写在你的方法里:
sqlconnection
con
=
new
sqlconnection("data
source=.;initial
catalog=computerexamination;integrated
security=true");
//这里是连接数据库,用的是windows身份验证,要保证你的数据库在打开时是本地数据库,即在连接数据库时‘服务器名称’选项中填入localhost要能成功连接数据库。
sqlcommand
cmd
=
new
sqlcommand("select
*
from
tb_files
where
filenum='"+textbox1.text+"'",
con);
//这里是对数据库下发命令,选择的记录是你在前台文本框里输入的值
con.open();
//打开数据库
sqldataadapter
sda
=
new
sqldataadapter(cmd);
//执行命令
dataset
ds
=
new
dataset();
sda.fill(ds,"info");
con.close();
gvview.datasource
=
ds.tables[0];
gvview.databind();
//将所查到的数据绑定到你的gridview上
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式