谁能给我一个asp.net无刷新上传图片取当时毫秒值作为名字,将名字存到数据库,并在页面显示的示例啊!我在网上找了半天没找见合适的

解决方案 »

  1.   

    无刷新上传只能是flash或者第三方控件 
    单纯ajax貌似做不到
      

  2.   

    在Ajax中上传图片(文件)要用第三方控件(anthem),以下是我用的,代码较多,你可以参考参考//Web.config
    <controls>
            <add tagPrefix="anthem" namespace="Anthem" assembly="Anthem"/>
            <!--上句是用Ajax上传控件Anthem的引用-->
            <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
          </controls>//aspx
    <td style="text-align: left" colspan="2">
                                            <anthem:FileUpload ID="anthemFileUpload" runat="server" Width="185px" /><anthem:Button
                                                ID="anthemUploadButton" runat="server" EnabledDuringCallBack="false" OnClick="anthemUploadButton_Click"
                                                Text="上传" Width="70px" TextDuringCallBack="uploading..." />
                                        </td>
    //.cs    protected void anthemUploadButton_Click(object sender, EventArgs e)
        {
            Label2.Text = "上传信息";
            Label2.UpdateAfterCallBack = true;
            string dirpath = Server.MapPath("~/Picture/temp/");//删除本页刷新临时文件夹temp下的所有图片
            DeleteFolder(dirpath);//删除本页刷新临时文件夹temp下的所有图片函数
            try
            {
                if ((TextBox10.Text == "") || (TextBox1.Text == ""))
                {//如果还没有录入书名编码,则不上传
                    Label2.Text = "未有录入图书资料";
                    Label2.UpdateAfterCallBack = true;
                    //ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), "alert", "<script language='javascript'>alert('提示:\\n请选择上传的图片!');document.all('anthemFileUpload').focus()</script>", false);//在anthem控件中无效
                }
                else
                {
                    string mymulu = TextBox10.Text.ToString().Replace(" ", "");//图片文件夹名称                string fileExt = System.IO.Path.GetExtension(anthemFileUpload.FileName);//文件扩展名
                    string booksname = TextBox1.Text.ToString().Replace(" ", "") + fileExt;//书名
                    if ((fileExt == ".jpg") || (fileExt == ".bmp") || (fileExt == ".gif") || (fileExt == ".png") || (fileExt == ".JPG") || (fileExt == ".BMP") || (fileExt == ".GIF") || (fileExt == ".PNG"))
                    {
                        if (!Directory.Exists(Server.MapPath("~/Picture/" + mymulu)))
                        {//如没有文件夹/Picture/" 下的 mymulu文件夹,先建立
                            Directory.CreateDirectory(Server.MapPath("~/Picture/" + mymulu));//建立Picture/" 下的 mymulu文件夹
                            string filename = anthemFileUpload.FileName;
                            string filenameid = System.DateTime.Now.ToString("yyyy-fff");
                            //string serverpath = Server.MapPath("~/Picture/" + mymulu + "/") + filenameid + filename;
                            string serverpath = Server.MapPath("~/Picture/" + mymulu + "/") + booksname;//以书名文件名保存
                            string tppath = "~/Picture/" + mymulu + "/" + booksname;//图片数据库保存路径
                            anthemFileUpload.SaveAs(serverpath);
                            string showpath = Server.MapPath("~/Picture/temp/") + filenameid + filename;//本页显示刷新图片保存路径
                            string tpshow = "~/Picture/temp/" + filenameid + filename;//本页显示刷新图片保存路径
                            anthemFileUpload.SaveAs(showpath);
                            Image1.ImageUrl = tpshow;//在本页显示相片要用anthem控件
                            Image1.UpdateAfterCallBack = true;
                            Label2.Text = "已上传到:" + tppath;// 已上传了封面图片数据库保存路径信息
                            Label2.UpdateAfterCallBack = true;
                            //图片路径更新到数据库的cover_picture字段
                            string sqlstr = "update booksdata set cover_picture=" + "'" + tppath + "'" + "where books_name=" + "'" + TextBox1.Text.ToString().Replace(" ", "") + "'";
                            sqlcon = new SqlConnection(strCon);
                            sqlcon.Open();
                            sqlcom = new SqlCommand(sqlstr, sqlcon);
                            sqlcom.ExecuteNonQuery();//更新图片保存路径
                            sqlcon.Close();
                        }
                        else
                        {//如果文件夹/Picture/" 下的 mymulu文件夹已存在,就上传
                            string filename = anthemFileUpload.FileName;
                            string filenameid = System.DateTime.Now.ToString("yyyy-fff");
                            //string serverpath = Server.MapPath("~/Picture/" + mymulu + "/") + filenameid + filename;
                            string serverpath = Server.MapPath("~/Picture/" + mymulu + "/") + booksname;//以书名文件名保存
                            string tppath = "~/Picture/" + mymulu + "/" + booksname;//图片数据库保存路径
                            anthemFileUpload.SaveAs(serverpath);
                            string showpath = Server.MapPath("~/Picture/temp/") + filenameid + filename;//本页显示刷新图片保存路径
                            string tpshow = "~/Picture/temp/" + filenameid + filename;//本页显示刷新图片保存路径
                            anthemFileUpload.SaveAs(showpath);
                            Image1.ImageUrl = tpshow;//在本页显示相片要用anthem控件
                            Image1.UpdateAfterCallBack = true;
                            Label2.Text = "已上传到:" + tppath;// 已上传了封面图片数据库保存路径信息
                            Label2.UpdateAfterCallBack = true;
                            //图片路径更新到数据库的cover_picture字段
                            string sqlstr = "update booksdata set cover_picture=" + "'" + tppath + "'" + "where books_name=" + "'" + TextBox1.Text.ToString().Replace(" ", "") + "'";
                            sqlcon = new SqlConnection(strCon);
                            sqlcon.Open();
                            sqlcom = new SqlCommand(sqlstr, sqlcon);
                            sqlcom.ExecuteNonQuery();//更新图片保存路径
                            sqlcon.Close();
                        }
                    }
                    else
                    {
                        Label2.Text = "只能上传:.jpg .bmp .gif .png的图片";
                    }
                }
            }
            catch (System.NullReferenceException er)
            {
                Label1.Text = er.Message;
            }
        }
      

  3.   

    我给你思路
    一个 iframe 里面一个 input type='file'iframe 透明度 1% 大小 width:30;height:50 //一个按钮的大小
    input type='file' 大小 width:600;height:200 onclick = 'document.from[0].submit()'
    在ie6里面会有滚动条 ie7没有
      

  4.   

    无刷新上传可使用ajax
    string fileName = DateTime.Now.ToString("yyyyMMddhhmmss");
    http://topic.csdn.net/u/20091208/11/08a8ae42-ae54-4663-81c3-13b40f82e670.html
      

  5.   

    swfupload
    你参考下这个控件