Simple submit button that saves to a specified folder

5 posts, 0 answers
  1. David
    David avatar
    4 posts
    Member since:
    Jun 2017

    Posted 05 Jun 2017 Link to this post

    Hello, 

     

    I am just having some issues creating a simple submit button that will save an uploaded file to a specified folder upon the clicking of the button. 

     

    If anyone could assist me in pointing me the right direction or how you could go about doing this, it would be greatly appreciated. 

     

     <telerik:radasyncupload runat="server" CssClass="async-attachment" ID="AsyncUpload1"
                    HideFileInput="True" EnableInlineProgress="True" MultipleFileSelection="Automatic" DropZones=".dropzone" />    
                <asp:Button runat="server" ID="Button1" Text="Submit" OnClick= "fileUpload" />

     

    What would the code behind look like etc?

     

    Thanks so much

  2. Neil
    Neil avatar
    4 posts
    Member since:
    Jul 2012

    Posted 07 Jun 2017 in reply to David Link to this post

    Hi Phil,
    It took me a while to sort this one out too. Hopefully the info below should put you in the right direction.

    The way i got this to work was to the PostbackTriggers and the OnFileUploaded properties of the RadAsyncUpload control. 

    In my example I have also set the TemporaryFolder to TempFold and applied the relevant write permissions to this folder (this is where the AsyncUpload control stores its files before uploading) if the permissions are not set correctly then the indicator will be red.

    The PostbackTriggers property is the button click that you want to use to trigger the event for the upload process.
    The OnFileUploaded property allows you to hook into the event so you control where you want to save the files.

    <telerik:RadAsyncUpload  runat="server" ID="RadAsyncUpload1" MultipleFileSelection="Automatic" RenderMode="Mobile" DropZones="#DropZone1" OnFileUploaded="RadAsyncUpload1_FileUploaded" TemporaryFolder="TempFold"  HideFileInput="true" PostbackTriggers="btnSubmit" EnableInlineProgress="true"    />

    <asp:Button ID="btnSubmit" runat="server" OnClick="btnSubmit_Click"  >SUBMIT</asp:LinkButton>

    protected void btnSubmit_Click(Object Sender, EventArgs e)
    {
            // Code to do something like making sure a file has been selected for upload
     // after the code in this event is complete the RadAsyncUpload1_FileUploaded will be called
    }


     protected void RadAsyncUpload1_FileUploaded(object sender, FileUploadedEventArgs e)
     {
     
            // Loops through all files and saves to a specified folder path
                try
                {
                    string SaveDir = "FolderPathHere";
              foreach (UploadedFile file in RadAsyncUpload1.UploadedFiles)
                    {
                        file.SaveAs(Server.MapPath(SaveDir)+@"\"+ FileName);
                    }
                }
                catch (Exception ex)
                {
                    string err = ex.Message;
                }
            }
     }
  3. David
    David avatar
    4 posts
    Member since:
    Jun 2017

    Posted 07 Jun 2017 in reply to Neil Link to this post

    Does something need to be written inside of the btnSubmit_Click event handler?

     

    Because if not, I was unable to have success with this

  4. Neil
    Neil avatar
    4 posts
    Member since:
    Jul 2012

    Posted 07 Jun 2017 in reply to David Link to this post

    If you don't want to do anything before uploading files then you do not need the btnSubmit_Click event.
    Providing your web.config file is correct and you have registered the correct handlers and modules then the below code should work just fine. If not then it would help if you can include your page code.


    <telerik:RadAsyncUpload runat="server" ID="RadAsyncUpload1" RenderMode="Mobile" OnFileUploaded="RadAsyncUpload1_FileUploaded" TemporaryFolder="tempFold" HideFileInput="true" PostbackTriggers="btnSubmit" EnableInlineProgress="true" />
    <asp:Button ID="btnSubmit" runat="server" Text="Upload Files" Width="100%" />
           
        protected void RadAsyncUpload1_FileUploaded(object sender, FileUploadedEventArgs e)
        {
            try
            {
                string SaveDir = "Files";
                if (!Directory.Exists(Server.MapPath(SaveDir)))
                {
                    Directory.CreateDirectory(Server.MapPath(SaveDir));
                }
                foreach (UploadedFile file in RadAsyncUpload1.UploadedFiles)
                {
                    file.SaveAs(Server.MapPath(SaveDir) + @"\" + file.FileName);
                }
            }
            catch (Exception ex)
            {
                string err = ex.Message;
            }
        }


  5. David
    David avatar
    4 posts
    Member since:
    Jun 2017

    Posted 08 Jun 2017 in reply to Neil Link to this post

    This is my web.config

     

     

    <?xml version="1.0" encoding="utf-8"?>
    <!--
      For more information on how to configure your ASP.NET application, please visit
      http://go.microsoft.com/fwlink/?LinkId=169433
      -->
    <configuration>
      <connectionStrings>
      </connectionStrings>
      <appSettings>
        
      </appSettings>
      <system.web>
        <compilation debug="true" targetFramework="4.5" />
        <httpRuntime targetFramework="4.5" />
        <pages>
          <namespaces>
            <add namespace="System.Web.Optimization" />
          </namespaces>
          <controls>
            <add assembly="Microsoft.AspNet.Web.Optimization.WebForms" namespace="Microsoft.AspNet.Web.Optimization.WebForms" tagPrefix="webopt" />
          </controls>
        </pages>
        <authentication mode="Forms">
          <forms loginUrl="~/Account/Login" timeout="2880" defaultUrl="~/" />
        </authentication>
        <httpHandlers>
          <add path="Telerik.Web.UI.WebResource.axd" type="Telerik.Web.UI.WebResource" verb="*" validate="false" />
        </httpHandlers>
      </system.web>
      <runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
          <dependentAssembly>
            <assemblyIdentity name="DotNetOpenAuth.Core" publicKeyToken="2780ccd10d57b246" />
            <bindingRedirect oldVersion="1.0.0.0-4.0.0.0" newVersion="4.1.0.0" />
          </dependentAssembly>
          <dependentAssembly>
            <assemblyIdentity name="DotNetOpenAuth.AspNet" publicKeyToken="2780ccd10d57b246" />
            <bindingRedirect oldVersion="1.0.0.0-4.0.0.0" newVersion="4.1.0.0" />
          </dependentAssembly>
        </assemblyBinding>
      </runtime>
      <system.webServer>
        <validation validateIntegratedModeConfiguration="false" />
        <handlers>
          <add name="Telerik_Web_UI_WebResource_axd" verb="*" preCondition="integratedMode" path="Telerik.Web.UI.WebResource.axd" type="Telerik.Web.UI.WebResource" />
        </handlers>
      </system.webServer>
    </configuration>

Back to Top