2017-07-16 2 views
2

Ich versuche, eine Dateiupload in Asp.net Core zu implementieren. Siehe meine endpoit unten:So laden Sie Dateien in asp.net Core Web API

[HttpPost("upload")] 
    [AllowAnonymous] 
    public async Task<IActionResult> Post(List<IFormFile> files) 
    { 
     long size = files.Sum(f => f.Length); 

     // full path to file in temp location 
     var filePath = Path.GetTempFileName(); 

     foreach (var formFile in files) 
     { 
      if (formFile.Length > 0) 
      { 
       using (var stream = new FileStream(filePath, FileMode.Create)) 
       { 
        await formFile.CopyToAsync(stream); 
       } 
      } 
     } 


     return Ok(new { count = files.Count, size, filePath }); 
    } 

Wenn ich testen Postman mit erhalte ich das folgende Ergebnis, auch wenn ich eine Datei auswählen:

{ 
    "count": 0, 
    "size": 0, 
    "filePath": "/var/folders/24/rmgj9ypj37709tnhxr2hgtfr0000gn/T/tmpX0SwbF.tmp" 
} 
+0

Geben Sie weitere Informationen an, z. B. wie die Anfrage, die Sie senden, erwartet wird, welche Art von Pantomime Sie verwendet haben usw. – Tseng

Antwort

1

Dies sollten Sie in die richtige Richtung. Die Methode empfängt ein jQuery-Post-Objekt.

[HttpPost] 
    public async Task<IActionResult> ReadFileHeaders(IFormFile file) 
    { 
     if (file != null) 
     { 
      using (var stream = new MemoryStream()) 
      { 
       await file.CopyToAsync(stream); 
       // Now the file is loaded into the stream variable 
      } 
     } 

     return BadRequest("File required"); 
    } 
Verwandte Themen