| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1017 人关注过本帖
标题:图片上传 可是出了点问题!
只看楼主 加入收藏
雪夜白狼
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2008-3-24
收藏
 问题点数:0 回复次数:4 
图片上传 可是出了点问题!
HttpPostedFile UpFile = FileUpload1.PostedFile; //获取对由客户端指定的上传文件的访问
            FileLength = UpFile.ContentLength;//获取上传文件的字节大小
            string hname = FileUpload1.FileName.Substring(FileUpload1.FileName.LastIndexOf(".") + 1).ToString(); ;//截取后缀名?
            if (hname == "JPG" || hname == "GIF" || hname == "BMP")
            {
                if (FileLength > 204800)
                    Response.Write("<script>alert('对不起,图片大小不能大于200K');window.location.href='admin_link.aspx'</script>");
                return;
            }
            else
            {
                OleDbConnection conn = new OleDbConnection();
                conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("../web.mdb");
                conn.Open();

                string ImageName = DateTime.Now.ToString("yyyyMMddhhmmssfff") + "." + hname;//图片名称设置为保存的时间
                Byte[] FileByte = new Byte[FileLength]; //图象文件储存到数组  
                Stream ObjectStream = UpFile.InputStream;//建立数据流对像,获取一个 Stream 对象,该对象指向一个上载文件,以准备读取该文件的内容。

                ObjectStream.Read(FileByte, 0, FileLength); //读取图象文件数据
                string StrSql = "Insert Into link(name,link,image) Values('" + linkname.Text + "','" + linkurl.Text + "',@ImageName)";
                OleDbCommand Cmd = new OleDbCommand(StrSql, conn);
                //Cmd.Parameters.Add("@Image",OleDbType.Binary, FileLength).Value = FileByte;
                Cmd.Parameters.Add("@ImageName", OleDbType.VarChar, 100).Value = ImageName;
                //conn.Open();
                this.FileUpload1.PostedFile.SaveAs(Server.MapPath("../upload") + "\\" + ImageName);
                Cmd.ExecuteNonQuery();                conn.Close();
                Response.Write("<script>alert('数据添加成功');window.location.href='admin_link.aspx'</script>");

在调试的时候Cmd.ExecuteNonQuery();出现错误显示说insert语法错误
大家看看到底是怎么回事啊?
搜索更多相关主题的帖子: hname FileLength UpFile Substring 
2008-04-30 21:37
hxfly
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:5810
专家分:118
注 册:2005-4-7
收藏
得分:0 
string StrSql = "Insert Into link(name,link,image) Values('" + linkname.Text + "','" + linkurl.Text + "',@ImageName)";


直接保存IMAGENAME的变量不就可以了?

2008-05-01 01:19
hxfly
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:5810
专家分:118
注 册:2005-4-7
收藏
得分:0 
string StrSql = "Insert Into link(name,link,image) Values('" + linkname.Text + "','" + linkurl.Text + "','"+GetFile()+"')";





private string GetFile()
    {


        if (UpPic.FileBytes.Length == 0 || UpPic.FileName.Trim () =="") { return ""; }
        else
        {
            string nntype = UpPic.FileName.ToString().Substring(UpPic.FileName.ToString().Length - 3, 3).ToLower ();
            if (nntype!= "jpg" && nntype!="gif")
            {
                Code.MsgEnd("系统只允许上传jpg和gif类型的图片!", "", "");
                return "";
            }
            else
            {
                string fname = DateTime.Now.ToString("yyyyMMddhhmss") + "." +nntype ;
                UpPic.SaveAs(Server.MapPath("../Prpic/" + fname));
                return fname;
            }
        }

    }




-----------我原来就是这么做的......

2008-05-01 01:25
jielig1
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2008-4-27
收藏
得分:0 
修改:
string StrSql = "Insert Into link(name,link,image) Values('" + linkname.Text + "','" + linkurl.Text + "','" + ImageName + "')";
然后删除:
Cmd.Parameters.Add("@ImageName", OleDbType.VarChar, 100).Value = ImageName;
2008-05-03 02:40
雪夜白狼
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2008-3-24
收藏
得分:0 
谢谢啊
解决了啊
2008-05-07 17:43
快速回复:图片上传 可是出了点问题!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.040020 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved