我上传了一个头像,写入了服务器上的指定路径,然后把这个路径保存在数据库里.
登录的时候就把这个路径读出来,路径URL给image控件,但为什么我的头头像不能
显示呢,看HTML代码,路径是对的.这是为什么?大家帮帮忙啊?
登录的时候就把这个路径读出来,路径URL给image控件,但为什么我的头头像不能
显示呢,看HTML代码,路径是对的.这是为什么?大家帮帮忙啊?
解决方案 »
- 一个关于权限设置问题! 求思路!!
- 50分菜鸟cms提问
- 问高手:同一用户在调用com进行代理下载的同事请求其他页面会很慢
- 急,求助一个vs2005.net安装问题
- 请问高手NHibernate现在发展的怎么样,成熟么??
- ASP.NET 2.0中的Binding to Objects问题 100送上
- 如何用asp.net连数据库读取数据然后进行计算
- 100分求一实例!!!
- 为何datagrid模板中radiobutton的oncheckedchanged事件不起作用?
- 初级问题:用户控件怎样自己成为一体,而不用与解决方案放在一起
- webservice 我这样写有问题吗
- 一个C#的类型转换问题
html的代码,上面图片的路径和我存放的路径是一模一样的啊,我做的是一个网站,图片是在服务器中的
路径保存在数据库中,然后根据路径来显示图片.这样的逻辑有问题吗?
读取绑定后应该是src="pictures\8\145.jpg" 这样就不会错了
这里就说说用到的几个:Pic,PicType,PicSize
Pic(类型:OLE对象)里存储的是图片的二进制流地址,PicType是图片类型,PicSize自然就是图片大小了浏览图片:
加一个 <asp:FileUpload ID="fldPic" runat="server" onchange="PreviewImg(this)"/>
<style type="text/css">#newPreview {FILTER: progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale)}</style>
<script language="javascript" type="text/javascript">
function PreviewImg(imgFile)
{
var newPreview = document.getElementById("newPreview");
newPreview.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = imgFile.value;
newPreview.style.width = "250px";
newPreview.style.height = "270px";
}
</script>
这样我们就可以从自己的电脑上选图片啦~存储图片:
HttpPostedFile hpfileUpFile = fldPic.PostedFile; //HttpPostedFile对象,用于读取图象文件属性
Int32 nFileLength = fldPic.PostedFile.ContentLength; //记录文件长度
Byte[] btFileByteArray = new Byte[nFileLength]; //图象文件临时储存Byte数组
Stream StreamObject = hpfileUpFile.InputStream;//建立数据流对像 //读取图象文件数据,btFileByteArray为数据储存体,0为数据指针位置、nFileLength为数据长度
StreamObject.Read(btFileByteArray, 0, nFileLength); //获取主题实体信息
forum.Type = txtType.Text.Trim();
forum.TypeExplain = txtaTypeExplain.Value.Trim();
forum.Pic = btFileByteArray;
forum.PicType = hpfileUpFile.ContentType;
forum.PicSize = nFileLength;
我这里用的是实体,不过不管什么方法,反正就是取值而已,接着是添加进数据库就OK了,下面的便是如何显示的问题。显示:
yourImage.ImageUrl=FormatImage(yourImageID);需要这个函数:
protected string FormatImage(int id)
{
return "ReadImage.aspx?id=" +id
}readimage是需要你自己新建的~/// <summary>
/// 用来暂存从数据库中读取的图片
/// </summary>
public partial class Pages_ReadImage : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//获取图片的id
int nID = Convert.ToInt32(Request["id"]);
string strSql=""; strSql="select * from yourDB where ID=" + nID;
if (strSql == "")
return; DataSet ds = GetDataSet(strSql);
if (ds != null && ds.Tables[0].Rows.Count > 0)
{
Response.Clear();
Response.ContentType = ds.Tables[0].Rows[0]["PicType"].ToString();
Response.BinaryWrite((byte[])ds.Tables[0].Rows[0]["Pic"]);
Response.End();
}
} private DataSet GetDataSet(string sql)
{
OleDbDataAdapter sda = new OleDbDataAdapter(sql,OleDbHelper.ConnectionStringLocalTransaction);
DataSet ds = new DataSet();
sda.Fill(ds);
return ds;
}
}
那这个我该怎么写呢?