I have radUpload control in my page from which users can only upload images.
I am using the following code in my codebehind to upload the images to the database.
The column Attachment in the AppImages table is of type IMAGE. When I debug the code, everything is good as it should be except the content of myBytes. every single element of the array will have 0 as its value. Even when I check the database (I'm using SQL Server 2008), the content of the Attachment column will be 0x000...
Now when I try to load the images to the grid (I have GridBinaryImageColumn), I get the following error from the IE8 debugger:
Error: Sys.WebForms.PageRequestManagerServerErrorException: The provided binary data may not be valid image or may contains unknown header
When I force the page to load, I get the following error:
I've searched the net for this error but coulnd't find any help. Have you guys seen anything like this?
Thanks.
| <telerik:RadUpload ID="ruImage" runat="server" InitialFileInputsCount="1" ControlObjectsVisibility="None" AllowedMimeTypes="image/bmp,image/gif,image/jpeg,image/pjpeg,image/tiff,image/x-png" /> |
I am using the following code in my codebehind to upload the images to the database.
| if (ruImage.UploadedFiles.Count > 0) |
| { |
| AppImages oImage = null; |
| foreach (UploadedFile theFile in ruImage.UploadedFiles) |
| { |
| string fileName = theFile.FileName; |
| fileName = fileName.Substring(fileName.LastIndexOf(@"\")).Replace(@"\", ""); |
| byte[] myBytes = new byte[theFile.ContentLength]; |
| theFile.InputStream.Read(myBytes, 0, theFile.ContentLength); |
| oImage = new AppImages(); |
| oImage.AppId = appId; |
| oImage.FileName = fileName; |
| oImage.FileSize = theFile.ContentLength; |
| oImage.FileType = theFile.ContentType; |
| oImage.Attachment = myBytes; |
| oImage.LastUpdatedBy = UserName; |
| oImage.Insert(); |
| oImage = null; |
| } |
| } |
The column Attachment in the AppImages table is of type IMAGE. When I debug the code, everything is good as it should be except the content of myBytes. every single element of the array will have 0 as its value. Even when I check the database (I'm using SQL Server 2008), the content of the Attachment column will be 0x000...
Now when I try to load the images to the grid (I have GridBinaryImageColumn), I get the following error from the IE8 debugger:
Error: Sys.WebForms.PageRequestManagerServerErrorException: The provided binary data may not be valid image or may contains unknown header
When I force the page to load, I get the following error:
| Parameter is not valid. |
| Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. |
| Exception Details: System.ArgumentException: Parameter is not valid. |
| Source Error: |
| An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below. |
| Stack Trace: |
| [ArgumentException: Parameter is not valid.] |
| System.Drawing.Image.FromStream(Stream stream, Boolean useEmbeddedColorManagement, Boolean validateImageData) +430 |
| System.Drawing.Image.FromStream(Stream stream) +14 |
| Telerik.Web.UI.ImageFilterHelper.CreateImgFromBytes(Byte[] image) +77 |
| [ArgumentException: The provided binary data may not be valid image or may contains unknown header] |
| Telerik.Web.UI.ImageFilterHelper.CreateImgFromBytes(Byte[] image) +219 |
| Telerik.Web.UI.RadBinaryImage.AutoAdjustImageElementSize(Byte[] dataValue) +26 |
| Telerik.Web.UI.RadBinaryImage.ProcessImageData() +106 |
| Telerik.Web.UI.RadBinaryImage.OnPreRender(EventArgs e) +27 |
| System.Web.UI.Control.PreRenderRecursiveInternal() +108 |
| System.Web.UI.Control.PreRenderRecursiveInternal() +224 |
| System.Web.UI.Control.PreRenderRecursiveInternal() +224 |
| System.Web.UI.Control.PreRenderRecursiveInternal() +224 |
| System.Web.UI.Control.PreRenderRecursiveInternal() +224 |
| System.Web.UI.Control.PreRenderRecursiveInternal() +224 |
| System.Web.UI.Control.PreRenderRecursiveInternal() +224 |
| System.Web.UI.Control.PreRenderRecursiveInternal() +224 |
| System.Web.UI.Control.PreRenderRecursiveInternal() +224 |
| System.Web.UI.Control.PreRenderRecursiveInternal() +224 |
| System.Web.UI.Control.PreRenderRecursiveInternal() +224 |
| System.Web.UI.Control.PreRenderRecursiveInternal() +224 |
| System.Web.UI.Control.PreRenderRecursiveInternal() +224 |
| System.Web.UI.Control.PreRenderRecursiveInternal() +224 |
| System.Web.UI.Control.PreRenderRecursiveInternal() +224 |
| System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3394 |
| -------------------------------------------------------------------------------- |
| Version Information: Microsoft .NET Framework Version:2.0.50727.4927; ASP.NET Version:2.0.50727.4927 |
I've searched the net for this error but coulnd't find any help. Have you guys seen anything like this?
Thanks.