zoukankan      html  css  js  c++  java
  • Xamarin Upload Files by WebAPI (Asp.Net Framework)

    WebApi Code

    public IHttpActionResult UploadFiles()
    {
      try
      {
          var request = HttpContext.Current.Request;
    
          if (request.Files.Count <= 0)
          {
              return StatusCode(HttpStatusCode.NoContent);
          }
          //Define files storage location
          string basePath = AppDomain.CurrentDomain.BaseDirectory + "Uploads\";
          if (!Directory.Exists(basePath))
          {
              Directory.CreateDirectory(basePath);
          }
          for (int i = 0; i < request.Files.Count; i++)
          {
              try
              {
                  var file = request.Files[i];
                  file.SaveAs(basePath + file.FileName);
              }
              catch (Exception ex)
              {
    
              }
          }
          return Ok();
    
      }
      catch (Exception ex)
      {
          return BadRequest();
      }
    }
    

    Xamarin Code

    private async void Upload_Click(object sender, EventArgs e)
    {
        try
        {
            if (SelectedFiles == null)
            {
                return;
            }
            //MultipartFormDataContent  : support select multiple files
            MultipartFormDataContent contents = new MultipartFormDataContent();
    
            //foreach the selected files and add it to contents
            foreach (var item in SelectedFiles)
            {
                //File Content(Stream) , name , FileName 
                contents.Add(new StreamContent(await item.OpenReadAsync()), "file", DateTime.Now.ToString("yyyyMMddHHmmss") + item.FileName);
            }
            //Post,Pass contents to WebApi
            var rs = await new HttpClient().PostAsync("UploadFiles", contents);
    
            //Verify reulst after WebApi processing
            if (rs .IsSuccessStatusCode)
            {
                await DisplayAlert("Tips","Success!","OK");
            }else
                await DisplayAlert("Tips","Error!","OK");
        }
        catch (Exception ex)
        {
    
        }
    }
    

    Xamarin Select File Code

    public IEnumerable<FileResult> SelectedFiles { get; set; }
    public async void SelectFiles()
    {
      //Select Multiple Files ,The File Type is Image
      SelectedFiles = await FilePicker.PickMultipleAsync(PickOptions.Images);
    }
    
  • 相关阅读:
    leetcode第26题--Remove Duplicates from Sorted Array
    leetcode第25题--Remove Element
    leetcode第24题--Reverse Nodes in k-Group
    leetcode第23题--Swap Nodes in Pairs
    leetcode第22题--Merge k Sorted Lists
    leetcode第21题--Generate Parentheses
    leetcode第20题--Valid Parentheses
    leetcode第19题--Remove Nth Node From End of List
    leetcode第18题--Letter Combinations of a Phone Number
    leetcode第17题--4Sum
  • 原文地址:https://www.cnblogs.com/LingLis/p/14701780.html
Copyright © 2011-2022 走看看