Fails to upload first file

11 posts, 0 answers
  1. Wayne
    Wayne avatar
    13 posts
    Member since:
    Sep 2012

    Posted 30 Jul 2015 Link to this post

    I am using Ayscupload to on a site. The upload works mostly.

     

    I have an issue I can't place. Sometimes, mostly on mobile, the site will not upload the first file. I thought it might have been the progress bar ​so I removed it and I got the same result.

    The first file uploads and the little yellow dot blinks but it never finishes the file. Now I can select another file while this one is blinking and that file works. When I press the "Upload" button to save the files all of them will be there except that firston If I leave the upload page and then return to it the page will now work perfectly for that session. It is only the FIRST file on the FIRST time. It is frustrating my users.... Thoughts??

     Here is the DIV that contains the control! I am using ASP.NET 3.5 and AJAX

     <div>
            <asp:Label ID="lblNoResults" runat="server" Visible="true">No Uploaded Files Yet.</asp:Label>
            <asp:Repeater ID="repResults" runat="server" Visible="false">
                    <HeaderTemplate>
                        <div>Uploaded Files</div>
                    </HeaderTemplate>
                    <ItemTemplate>                    
                        <%#DataBinder.Eval(Container.DataItem, "Filename")%>
                        (<%#DataBinder.Eval(Container.DataItem, "ContentLength").ToString & " bytes"%>)
                        <br />
                    </ItemTemplate>
                </asp:Repeater>
            <br />
            <asp:Repeater ID="repInvalidResults" runat="server" Visible="false">
                    <HeaderTemplate>
                        <div>Invalid Files</div>
                    </HeaderTemplate>
                    <ItemTemplate>
                        File: <%#DataBinder.Eval(Container.DataItem, "Filename")%>
                        (<%#DataBinder.Eval(Container.DataItem, "ContentLength").ToString() + " bytes"%>)
                        <br />
                        Mime-type: <%#DataBinder.Eval(Container.DataItem, "ContentType").ToString()%>
                        <br /><br />
                    </ItemTemplate>
                </asp:Repeater>
        </div>​

  2. Dimitar
    Admin
    Dimitar avatar
    281 posts

    Posted 04 Aug 2015 Link to this post

    Hi,

    Unfortunately, I do not see RadAsyncUpload declaration in the div provided. Could you double-check if the posted snippet contains the RadAsyncUpload markup? I would suggest you to prepare an isolated runnable sample which could be used for the issue reproduction. And could you specify the OS version and browser type and version used to reproduce the issue?

    As a side note, since you are using .NET 3.5, I would like to inform you that there is a general ASP.NET AJAX Extensions issue, concerning the new iOS 8 and OS X Safari versions. It is affecting sites using ASP.NET 3.5. Basically, the new Safari version is not properly recognized by the AJAX framework as a browser that supports partial rendering, which breaks the AJAX technology. This seems as a probable reason for the issue faced.

    If you are facing the same issue, in order to fix this issue, you need to edit your browser definition files so that the latest Safari is properly recognized. You can find more detailed information about the issue as well as a workaround for it in the following stackoverflow thread.

    Regards,
    Dimitar
    Telerik
    Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Feedback Portal and vote to affect the priority of the items
  3. UI for ASP.NET Ajax is Ready for VS 2017
  4. Wayne
    Wayne avatar
    13 posts
    Member since:
    Sep 2012

    Posted 05 Aug 2015 in reply to Dimitar Link to this post

    Yeah Feel like a goof! There is a RadUploadAsync and I will have the code below. It is not the iOS 8 issue but thanks fro the heads up! This is mostly Android!

    I'm using 2013.3.1015.40 and VB.NET with no real code behind for this section but I will post. The weird thing is it works after the first file! I will also say, not that this is the problem, we converted from the old Radupload.

     Thanks for any help! We are getting real anxious over here!

    Wayne

     

    DIV:

    <div class="upload">
                <telerik:RadProgressManager id="rdProgress1" runat="server" />
                
                <telerik:RadAsyncUpload ID="upPics" runat="server" OverwriteExistingFiles="false" MultipleFileSelection="Automatic"
                     AllowedFileExtensions=".jpg,.gif,.jpe,.jpeg,.png" MaxFileSize="10485760" />
                <br />
                <asp:LinkButton ID="buttonSubmit" runat="server" Text="Upload" CssClass="medium button blue" />&nbsp;
                <asp:HyperLink ID="hypReturn" runat="server" CssClass="medium button blue" >Return</asp:HyperLink>
            </div>

     

    CODE BEHIND:

    Private Sub buttonSubmit_Click(sender As Object, e As System.EventArgs) Handles buttonSubmit.click
     
            'clear invalid
            'If upPics.InvalidFiles.Count > 0 Then
            'empty
            'upPics.InvalidFiles.Clear()
            'End If
     
            dest = dest & ListID & "\" 'create sub dir based on ListingID
            Dim tbAdp As New tblListing_ImagesTableAdapter 'declare tableadapter to us Images Table
     
            'for each file we will upload and count
            'Dim upf As UploadedFileCollection = upPics.UploadedFiles
     
            If upPics.UploadedFiles.Count > 0 Then
                For Each validfile As UploadedFile In upPics.UploadedFiles
     
                    'create directory
                    If Not Directory.Exists(dest) Then
                        Directory.CreateDirectory(dest)
                    End If
     
                    'upfile
                    Dim upfile As String = ListID & "-" & validfile.GetName
     
                    'lower characters
                    upfile = upfile.ToLower
     
                    ''we need to remove spaces, and other odd characters from file names!!!
                    Dim Util As New Utility
                    upfile = Util.StripNonAlphaNumericCharacters(upfile)
     
                    'reduce length
                    If upfile.Length > 40 Then
                        Dim ext As String = validfile.GetExtension 'upfile.Substring(upfile.LastIndexOf(".") + 1, 3).ToUpper
                        upfile = upfile.Substring(0, 40)
                        upfile = upfile & ext '"." & ext
                    End If
     
                    If Not File.Exists(dest & upfile) Then
                        'not sure?? threw new exception in old code
     
                        'savefile
                        validfile.SaveAs(dest & upfile)
     
                        'create DB record - if there are no other records for this listing use as main!
                        If tbAdp.CountListingImages(ListID) = 0 Then
                            tbAdp.Insert(System.Guid.NewGuid, ListID, "listimgs/" & ListID & "/" & upfile, validfile.GetExtension, True)
                        Else
                            tbAdp.Insert(System.Guid.NewGuid, ListID, "listimgs/" & ListID & "/" & upfile, validfile.GetExtension, False)
                        End If
     
                        '7/2012 - new resize by set image size
                        'now we need to open the image and resize if nec                   
                        Dim flO As String = dest & upfile
                        Dim flOt As String = dest & "tmp" & upfile
     
                        Dim imgPhoto As Image = ScaleImage(Image.FromFile(flO), 640) 'set width to 560
     
                        Dim fExt As String = validfile.GetExtension
                        If validfile.GetExtension.ToUpper = ".JPG" Or validfile.GetExtension.ToUpper = ".JPEG" Then
                            imgPhoto.Save(flOt, Imaging.ImageFormat.Jpeg)
                        ElseIf validfile.GetExtension.ToUpper = ".GIF" Then
                            imgPhoto.Save(flOt, Imaging.ImageFormat.Gif)
                        ElseIf validfile.GetExtension.ToUpper = ".PNG" Then
                            imgPhoto.Save(flOt, Imaging.ImageFormat.Png)
                        End If
     
                        imgPhoto.Dispose()
     
                        'overwrite original and delete the temp
                        File.Copy(flOt, flO, True)
                        File.Delete(flOt)
                    Else
                        'file existed!!
     
                    End If
                Next
                lblNoResults.Visible = False
                repResults.Visible = True
                repResults.DataSource = upPics.UploadedFiles
                repResults.DataBind()
            Else
                lblNoResults.Visible = True
                repResults.Visible = False
            End If
     
            ' If upPics.InvalidFiles.Count > 0 Then
            'repInvalidResults.Visible = True
            'repInvalidResults.DataSource = upPics.InvalidFiles
            'repInvalidResults.DataBind()
            ' End If
        End Sub

     

  5. Dimitar
    Admin
    Dimitar avatar
    281 posts

    Posted 07 Aug 2015 Link to this post

    Hi Wayne,

    Unfortunately the issue is not reproducible on my side with latest Chrome browser for Android.
    Could you specify the Android version used, the browser and its version? Thus, we would determine what module is used for uploading. One option to debug the file upload is to connect your mobile device to the PC and open a debug session in Chrome. Thus, you would be able to see all requests from the real device and their status when uploading - video.

    In addition, could you please handle the OnClientFileUploadFailed event and the OnClientValidationFailed event and send us the error message?

    Also, you may try to set the following configuration in the web.config:

    <location path="Telerik.Web.UI.WebResource.axd"
        <system.web>     
            <authorization>
                <allow users="*" />     
            </authorization
        </system.web>
    </location>

    And last, I tested with the version you pointed and although the issue is not reproducible on my side, it may be one that has been fixed in latest version. So you may download a free latest trial and test if the issue is still reproducible with it.

    Regards,
    Dimitar
    Telerik
    Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Feedback Portal and vote to affect the priority of the items
  6. Wayne
    Wayne avatar
    13 posts
    Member since:
    Sep 2012

    Posted 22 Aug 2015 Link to this post

    Thank you for your response. As usually happens I got side tracked and now I am back to this issue.

    It still occurs. We did try a newer version. I still have to try the change to the web.config as you mentioned.

    BUT I fired up Chorme developer tools and looked at the console when uploading that first file. I get the same results as the mobile clients do, the first file fails. But iknow I see an error message!!! Maybe you can tell me what it means! 

     

     â€‹

  7. Dimitar
    Admin
    Dimitar avatar
    281 posts

    Posted 24 Aug 2015 Link to this post

    Hi,

    The error means that the JSON you are trying to parse is not well formatted - it contains characters which break the parsing process. This is explained with a few examples in the parseJSON() docs. The following forum thread also deals with a similar error.

    Regards,
    Dimitar
    Telerik
    Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Feedback Portal and vote to affect the priority of the items
  8. Wayne
    Wayne avatar
    13 posts
    Member since:
    Sep 2012

    Posted 24 Aug 2015 Link to this post

    Thanks for the info. That's what I got.

    And call me stupid but I am not calling parseJSON myself. Google Chrome points to three files; one is JQuery, the other two are Telerik Files.

    That's where I am confused...how can I change that? What is actually angering it??

  9. Wayne
    Wayne avatar
    13 posts
    Member since:
    Sep 2012

    Posted 24 Aug 2015 Link to this post

    Also if you upload a second file it works or refresh the page!!
  10. Wayne
    Wayne avatar
    13 posts
    Member since:
    Sep 2012

    Posted 24 Aug 2015 in reply to Wayne Link to this post

    It also only happens on the mobile version of the site. Whether or not its loaded on the desktop. 

    First file only! I'm stumped i looked through my html line by line on both the page and the master page. No Errors.

    I fixed some CSS errors thinking that might help! NOPE! No error message in the on client error handles...at least not that I could produce. It may be interesting the file that fails never makes it to the temp upload dir.

    Where do i want to put the location tag in the web.config?? never done that before...worth a shot.

     

  11. Wayne
    Wayne avatar
    13 posts
    Member since:
    Sep 2012

    Posted 24 Aug 2015 in reply to Wayne Link to this post

    I tried isolating the control for fun. Same result.

    The page below has no code in the code behind and has only the following HTML.

     At this point it seems like a problem with the control itself or some config problem.

     Any ideas?

     

    <%@ Page Language="vb" AutoEventWireup="false" CodeBehind="upTestAug.aspx.vb" Inherits="AFOHAB.upTestAug" %>
    <%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>
    <%@ Register tagprefix="telerik" namespace="Telerik.Web.UI" assembly="Telerik.Web.UI" %>
    <!DOCTYPE html>
     
    <html>
    <head runat="server">
        <title>test upload no code</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <cc1:ToolkitScriptManager id="ToolkitScriptManager1" runat="server" />
     
        <div>
            <telerik:RadProgressManager id="rdProgress1" runat="server" />
                       
            <telerik:RadAsyncUpload ID="upPics" runat="server" OverwriteExistingFiles="false" MultipleFileSelection="Automatic" UseApplicationPoolImpersonation="true"
                     AllowedFileExtensions=".jpg,.gif,.jpe,.jpeg,.png" MaxFileSize="10485760" />
     
        </div>
     
        </form>
    </body>
    </html>

  12. Dimitar
    Admin
    Dimitar avatar
    281 posts

    Posted 25 Aug 2015 Link to this post

    Hi,

    There is a known compatibility issue with AjaxControlToolkit and it is the most likely cause for the issue. You may find more information about it and how to resolve it in the Telerik UI for ASP.NET AJAX and AJAX Control Toolkit help article.

    Regards,
    Dimitar
    Telerik
    Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Feedback Portal and vote to affect the priority of the items
Back to Top
UI for ASP.NET Ajax is Ready for VS 2017