0

I used this code :

    Protected Sub AsyncFileUpload1_UploadedComplete(ByVal sender As Object, ByVal e As AjaxControlToolkit.AsyncFileUploadEventArgs) Handles AsyncFileUpload1.UploadedComplete
        Try

            Dim UploadFolderPath As String = "~/Site/Files/"
            Dim fileext As String = System.IO.Path.GetExtension(AsyncFileUpload1.FileName)

            Dim file_id As String = Guid.NewGuid().ToString()

            AsyncFileUpload1.SaveAs(Server.MapPath(UploadFolderPath) + file_id + fileext)
        Catch ex As Exception
            Throw ex
        End Try
    End Sub

if i keep the real file name using below code, it works will without double post:

Dim savePath As String = MapPath("Files/" & Path.GetFileName(e.FileName))

AsyncFileUpload1.SaveAs(Server.MapPath(savePath) )

here is the page source :

<script type="text/javascript">

    function clearContents() {
        var span = $get("<%=AsyncFileUpload1.ClientID%>");
        var txts = span.getElementsByTagName("input");
        for (var i = 0; i < txts.length; i++) {
            if (txts[i].type == "text") {
                txts[i].value = "";
            }
            if (txts[i].type == "file") {
                txts[i].value = "";
            }
        }
    }

    function uploadStarted(sender, args) {

        if (args.get_length() > 1048576) {

            $get("<%=AsyncFileUpload1.ClientID%>").style.display = 'block';
            $get("dvFileErrorInfo").style.display = 'block';
            $get("dvFileInfo").style.display = 'none';
            $get("<%=lblError.ClientID%>").innerHTML = "حجم الملف تجاوز الحد المسموح به 2 ميجابايت  "
        } else {

            $get("<%=AsyncFileUpload1.ClientID%>").style.display = 'none';
            $get("dvFileErrorInfo").style.display = 'none';
            $get("dvFileInfo").style.display = 'none';
        }



    }

    function uploadError(sender, args) {
        try {
            $get("<%=AsyncFileUpload1.ClientID%>").style.display = 'block';
            $get("dvFileErrorInfo").style.display = 'block';
            $get("dvFileInfo").style.display = 'none';
            $get("<%=lblError.ClientID%>").innerHTML = "لم يتم رفع الملف : " + args.get_errorMessage();

        }
        catch (e) {

        }
    }

    function uploadComplete(sender, args) {
        try {


            $get("<%=AsyncFileUpload1.ClientID%>").style.display = 'block';
            var filename = args.get_fileName();
            var ext = filename.substring(filename.lastIndexOf(".") + 1);
            document.getElementById('<%= FileExt.ClientID %>').value = ext;
            if (ext != 'zip' && ext != 'rar' && ext != 'doc' && ext != 'docx' && ext != 'pdf' && ext != 'RAR') {
                document.getElementById("errmsg").innerHTML = ext;
                 $get("dvFileErrorInfo").style.display = 'block';
                $get("<%=lblError.ClientID%>").innerHTML = "صيغة الملف ليست مدعومة، يسمح لك فقط برفع الملفات التالية: مستند مايكروسوفت وود - وثيقة أكروبات - ملف مضغوط";
                $get("dvFileInfo").style.display = 'none';
                return;
            }




            $get("dvFileInfo").style.display = 'block';
            $get("dvFileErrorInfo").style.display = 'none';
            $get("<%=lblSuccess.ClientID%>").innerHTML = "تم رفع الملف بنجاح";
            $get("<%=lblFileNameDisplay.ClientID%>").innerHTML = args.get_fileName();
            $get("<%=lblFileSizeDisplay.ClientID%>").innerHTML = args.get_length() /1024 + " كيلو بايت";
            $get("<%=lblContentTypeDisplay.ClientID%>").innerHTML = args.get_contentType();

      }
        catch (e) {
            //alert(e.message);
        }
    }
    </script>

asynfileupload control :

     <cc1:AsyncFileUpload runat="server" ThrobberID="Throbber" 
                OnUploadedComplete="AsyncFileUpload1_UploadedComplete" 
                OnClientUploadComplete="uploadComplete" OnClientUploadStarted="uploadStarted"

        ID="AsyncFileUpload1" Width="400px"

        CompleteBackColor = ""
        ClientIDMode="AutoID"
        UploadingBackColor=""  

       CssClass="btn btn-warning" ErrorBackColor=""

      />

the hidden filed is to capture the file extension,,

#
Backs
  • 24,430
  • 5
  • 58
  • 85
Eid
  • 23
  • 4

0 Answers0