使用TELERIK radasyncupload将图像以BLOB类型上传到MySql DB

问题描述

im是asp.net和c#的新功能。我一直在尝试将多个图像上传到我的数据库,并在网格的另一个页面中查看它们,我有一个代码,可以从中了解上传的工作方式,但是我不确定它是否正确完成了,我只是将图像上传为像下面给出的代码

                if (uploadimg > 0)
                {
                    foreach (UploadedFile img in imgupload.UploadedFiles)
                    {

                        byte[] bytes = new byte[img.InputStream.Length];
                        img.InputStream.Read(bytes,(int)img.InputStream.Length);

                        string filename = img.GetName();
                        int filesize = bytes.Length;
                        result = ma.img_upload(pid,filename,filesize,"jpg",bytes);
                    }

我通过使用母版页来完成此任务,因此对我来说完成此任务更具挑战性。 查询末尾的字节存储在MysqL中的BLOB类型中,并且字节值由大约7-8位数字的图像大小组成。 然后,我试图在telerik radgrid中显示整个数据库表,下面的源代码
                                     <telerik:RadScriptManager ID="RadScriptManager1" runat="server"/>

                                            <telerik:RadGrid RenderMode="Auto" runat="server" ID="stock" AllowPaging="True"  Height="130px" OnNeedDataSource="stock_NeedDataSource" Width="800px" AutoGenerateColumns="true"  OnItemDataBound="OnRowDataBound">
                                                <GroupingSettings CollapseAllTooltip="Collapse all groups"></GroupingSettings>
                                                  <FilterMenu RenderMode="Auto"></FilterMenu> 
                                                <HeaderContextMenu RenderMode="Auto"></HeaderContextMenu>
                                                <MasterTableView>
                                                <Columns>
                                  <telerik:GridTemplateColumn HeaderText="Image" UniqueName="Description" datafield="Description" >            <ItemTemplate>
                     <telerik:RadBinaryImage runat="server" ID="image1"
                                AutoAdjustimageControlSize="false" Height="80px" Width="80px"   
                                ></telerik:RadBinaryImage>
                        </ItemTemplate>
                                            </telerik:GridTemplateColumn>            
                                                    </Columns>
                                                    </MasterTableView>
        </telerik:RadGrid>

我刚刚从ASP片段集中转储了他们在演示中给出的所有内容,我真的不知道大多数标签的用途是什么。后端为

                protected void Page_Load(object sender,EventArgs e)
        {
            if (!IsPostBack)
            {
                Fin_Grid();
                

            }

        }

        public void Fin_Grid()
        {
            stock.DataSource = ma.imgshow();
            stock.DataBind();
        }
        protected void OnRowDataBound(object sender,Telerik.Web.UI.GridItemEventArgs e)
        {
            if (e.Item is GridDataItem)
            {
                DaTarowView dr = (DaTarowView)e.Item.DataItem;
                if (dr["imgtype"] != dbnull.Value)
                {
                    var call = e.Item.FindControl("image1") as RadBinaryImage;
                    string convert = Convert.ToBase64String((byte[])dr["imgtype"]);
                    string imageUrl = "data:image/jpg;base64," + convert;
                    call.ImageUrl = imageUrl;                   
                }
            }
        }

我只是几乎看不懂代码,我只知道它们是如何工作的,不知道我们到底为什么要使用它们,因为我尝试使用这些代码上传显示即时消息,从而在网格中显示无图像符号,并且我尝试检查它将src显示为“ data:image / jpg; base64,U3lzdGVtLkJ5dGVbXQ ==“此值。因为没有普通的C#或asp.net代码适合它,所以拥有telerik会使情况变得更糟,而且我很少能找到基于此的任何教程,我真的不知道哪一个或我的错误所在,任何人都可以帮助我解决这个问题最近3天:(。感谢您的答复。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)