locked
How to pass value of selectedOwnerLevel from angular to web api when action post asp.net core 3.1 ? RRS feed

  • Question

  • User696604810 posted

    I work on asp.net core 3.1 web api  server side

    and angular 7 client side

    I work on page make upload to single file and it is ok working but when try to pass Number flag with file uploaded

    I face issue I can't pass value of variable selectedOwnerLevel  from angular 7 to web api

    selectedOwnerLevel: number = 1;

    suppose selectedOwnerLevel is have value 1

    so How to pass value 1 to web api

    on angular 7 client side

    public uploadFile = (files,selectowner) => {  
         
      const formData = new FormData();  
        
      formData.append('file', this.fileToUpload,this.fileToUpload.name);  
       
     console.log(this.selectedOwnerLevel);  // it have here 5
     if(this.selectedOwnerLevel==1)  
     {  
     this.http.post('http://localhost:61265/api/DeliverySys/', formData,{ responseType: 'blob' })  
        .subscribe((response: Blob) => saveAs(response, this.fileToUpload.name + '.xlsx'));  
     }  
           
    }  

    on html :

    <div class="form-group">    
         <label for="file">Choose File</label>    
         <input type="file"    
                id="file"    
                (change)="handleFileInput($event.target.files)">    
                <button type="button" class="btn btn-success" (click)="uploadFile(files,this.selectedOwnerLevel)">Upload File</button>  
     </div>   

    on server side web api

    [HttpPost, DisableRequestSizeLimit]  
            public IActionResult Upload(int selectedOwnerLevel)  
            {  
                try  
                {  
                    var DisplayFileName = Request.Form.Files[0];  
                    string fileName = DisplayFileName.FileName.Replace(".xlsx", "-") + Guid.NewGuid().ToString() + ".xlsx";  
      
                }  
                catch (Exception ex)  
                {  
                    return StatusCode(500, $"Internal server error: {ex}");  
                }  

    when debug value of selectedOwnerLevel it display as 0

    so please How to display as actual value 1 on angular 7 ?

    when do consol.log (this.selectedOwnerLevel) it give me 1 on image below

    but it display 0

    so How to solve issue please ?

    Thursday, May 27, 2021 3:21 PM

All replies

  • User-474980206 posted

    the easiest is to pass in the formdata:

    const formData = new FormData();  
    formData.append('selectedOwnerLevel', this.selectedOwnerLevel);
    

    Friday, May 28, 2021 3:13 PM
  • User696604810 posted

    thank you for reply

    and how to access it on web api server side 

    meaning how to get value 1 or 2 of selectedownervalue on csharp side

    [HttpPost, DisableRequestSizeLimit]  
            public IActionResult Upload(int selectedOwnerLevel)  
            {  
    // how to get value of selectedownervalue
                try  
                {  
                    var DisplayFileName = Request.Form.Files[0];  
                    string fileName = DisplayFileName.FileName.Replace(".xlsx", "-") + Guid.NewGuid().ToString() + ".xlsx";  
      
                }  
                catch (Exception ex)  
                {  
                    return StatusCode(500, $"Internal server error: {ex}");  
                }

    Friday, May 28, 2021 3:16 PM