日期:2014-05-18  浏览次数:20477 次

如何实现选择图片,显示在页面中,保存到数据库
如何实现选择图片,显示在页面中,并能保存到数据库,编辑时还可以从数据库中读出显示?最好有代码,没代码给出思路也可.谢谢!

------解决方案--------------------
把图片的路径写到数据库
显示的时候读出来就可以了
------解决方案--------------------
如页面中有
<img src='' id='myImage'>用于显示图片

上传控件:
<asp:FileUplod id="fileUpload" ... onchange="changeImage('fileToUpload','testImage')">

js:

/**改变图片 在上传图片是使用。显示预览功能
*** 参数:SourceID:填写上传控件的id
*** mmID : Image显示图片的Imageid
*** FileUpload onchange 事件使用
**/
function changeImage(sourceId,mmId)
{
var str1=document.getElementById(sourceId).value;
var str2=document.getElementById(mmId);
str2.setAttribute("src",str1);
}

lz可以试一下
------解决方案--------------------
C# code
 
图片二进制读取于存储到数据库
这里用的是MYSQL数据库的BLOB字段存储的图片二进制数据
由于用的是MYSQL数据库 所以在引用存储的方法与MSSQL数据库不一样,
MYSQL用的是“?”,而MSSQL数据库是“@”,请大家注意参考
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using System.IO;
using System.Drawing.Imaging;
using MySql.Data.MySqlClient;//引用MYSQL命名空间
public partial class _Default : System.Web.UI.Page
{
  MySqlConnection conn = new MySqlConnection(System.Configuration.ConfigurationManager.AppSettings["conmy"]);
  protected void Page_Load(object sender, EventArgs e)
  {
    if (!this.Page.IsPostBack)
    {
      this.show();
    }
  }
 
  protected void Button1_Click(object sender, EventArgs e)
  {
    if (FileUpload1.HasFile)
    {
      //文件扩展名
      string Ex=FileUpload1.FileName.Substring(FileUpload1.FileName.LastIndexOf('.') + 1);
      if (Ex.ToLower() == "jpg" || Ex.ToLower() == "gif")
      {
        int ImageSize = FileUpload1.PostedFile.ContentLength;//图片的大小
        string ImageType = this.FileUpload1.PostedFile.ContentType;//图片类型
        Stream ImageStream = this.FileUpload1.PostedFile.InputStream;
        Byte[] ImageCount = new Byte[ImageSize];//调用方法转化二进制数据
        int bt = ImageStream.Read(ImageCount, 0, ImageSize);
   
        MySqlCommand comm = new MySqlCommand("testpic",conn);
        comm.CommandType = CommandType.StoredProcedure;
        MySqlParameter pj = new MySqlParameter("?myimage", MySqlDbType.LongBlob,ImageCount.Length);//图片
        pj.Value =ImageCount;//给这字段赋值二进制数据
        comm.Parameters.Add(pj);
        MySqlParameter pname = new MySqlParameter("?imagename", MySqlDbType.VarChar, 100);//图片名称
        pname.Value=FileUpload1.FileName;
        comm.Parameters.Add(pname);
        MySqlParameter psize = new MySqlParameter("?imagesize", MySqlDbType.Int32);//图片名称
        psize.Value =ImageSize;
        comm.Parameters.Add(psize);
        conn.Open();
        comm.ExecuteNonQuery();
  &n