3

我在 asp.net 中有一个 Web 表单,在 Asp 更新面板中包含一个 RadAsyncfileupload 和一个 RadBinaryImage,如下所示

<body>
    <form id="form1" runat="server">
     <asp:ScriptManager ID="ScriptManager1" runat="server">
    </asp:ScriptManager>
    <div>

    <asp:UpdatePanel runat="server">

<ContentTemplate>

    <telerik:RadAsyncUpload ID="RadAsyncUpload1" runat="server">
    </telerik:RadAsyncUpload>
    <telerik:RadBinaryImage ID ="RadBinaryImage1" runat ="server" Width= "100px" Height="100px"/>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</form>
</body>

在后面的代码中

  protected void RadAsyncUpload1_FileUploaded(object sender, Telerik.Web.UI.FileUploadedEventArgs e)
        {
            if (RadAsyncUpload1.UploadedFiles.Count == 1)
            {
                byte[] image;
                long fileLength = RadAsyncUpload1.UploadedFiles[0].InputStream.Length;
                image = new byte[fileLength];
                RadAsyncUpload1.UploadedFiles[0].InputStream.Read(image, 0, image.Length);
                RadBinaryImage1.DataValue = image;

            }

        }

但是在运行时程序控制器不会触发 RadAsyncUpload1_FileUploaded 事件我已经搜索了 Telerik 论坛,发现我应该对脚本管理器做一些事情,但我需要一些帮助来了解如何做到这一点,原因是为了触发这个事件整个页面应该发布无论如何,一些脚本可以帮助我或任何其他方式!提到我需要图像的字节数组将其保存在数据库中。在此先感谢 Saeed Soleimanifar

4

1 回答 1

5

http://demos.telerik.com/aspnet-ajax/asyncupload/examples/persistuploadedfiles/defaultvb.aspx?#qsf-demo-source

我只是通过使用它添加了相同的功能,如果您发现任何问题,请告诉我......或者这是具有魔力的部分

页面来源:

<telerik:RadScriptBlock ID="RadScriptBlock1" runat="server">

    <script type="text/javascript">


        function updatePictureAndInfo() {

            __doPostBack('btnImgUpload', 'RadButton1Args');

        }

    </script>

</telerik:RadScriptBlock>

<telerik:RadBinaryImage runat="server" ID="imgBinaryPhoto" ImageUrl="~/Images/default-profile-pic.png"
                Width="100px" Height="100px" ResizeMode="Fit" AlternateText="No picture available"
                CssClass="preview"></telerik:RadBinaryImage>
            <br />
            <telerik:RadAsyncUpload ID="upldPhoto" runat="server" AllowedFileExtensions=".jpg,.png,.gif,jpeg,.tiff"
               MaxFileInputsCount="1" MultipleFileSelection="Disabled">
            </telerik:RadAsyncUpload>
            <asp:Button ID="btnImgUpload" runat="server" Text="Upload" CssClass="button" OnClientClick="updatePictureAndInfo(); return false;" />

代码背后:

Protected Sub FileUploaded() Handles upldPhoto.FileUploaded

        Dim bitmapImage As Bitmap = ResizeImage(upldPhoto.UploadedFiles(0).InputStream)
        Dim stream As System.IO.MemoryStream = New System.IO.MemoryStream()
        bitmapImage.Save(stream, System.Drawing.Imaging.ImageFormat.Bmp)
        imgBinaryPhoto.DataValue = stream.ToArray()

    End Sub
于 2013-01-02T05:52:17.880 回答