2016-09-23 5 views
0

Ich habe eine sehr einfache Datei-Upload-Methode auf meinem MVC controller, die sehr gut funktioniert beim Hochladen von Bildern von den Browsern auf meinem PC.Datei von iOS auf MVC-Controller hochladen

Upload-Code:

[HttpPost] 
public ActionResult FileUpload(HttpPostedFileBase file, string encodedId) 

Allerdings, wenn ich versuchen, ein Bild von meinem iPhone ich Fehler als

Keine Route in der Routentabelle erhalten hochladen passt die Werte geliefert

Ich habe versucht, die Parameter aus der Methode zu entfernen und stattdessen auf die Daten zuzugreifen das Objekt anfordern:

Modified Code:

[HttpPost] 
public ActionResult FileUpload() 
    { 
    var file = HttpContext.Request.Files[0]; 
    string encodedId = HttpContext.Request.Form["EncodedId"]; 

Daraus ergibt sich die gleichen Fehler.

Ich kann nicht feststellen, was die iPhone an den Server sendet, da ich keine Entwicklungswerkzeuge auf meinem iPhone habe.

+0

Können Sie nicht die Leute fragen, die den iPhone-Code entwickelt haben, um Ihnen zu sagen? Was ich in der Vergangenheit getan habe, um Dateien von iOS nach .Net hochzuladen, ist, das Bild als Bas64-String zu senden, aber es als Byte-Array auf der .Net-Seite – Flexicoder

+0

Hi Flexicoder zu definieren. Entschuldigung, ich hätte sagen sollen, dass das Bild vom iOS Safari Browser hochgeladen wird. – Steve

Antwort

0

Ich benenne meine Datei, die ich als Datei sende und erhalte sie über den folgenden Code.

[HttpPost] 
     [Route("UploadAttachment")] 
     public IHttpActionResult UploadAttachment() 
     { 
      try 
      { 
       HttpPostedFile File = HttpContext.Current.Request.Files.Count > 0 ? 
        HttpContext.Current.Request.Files.Get("File") : null; 

       if (File != null) 
       { 
        Uploader uploader = new Uploader(); 
        var Result = uploader.uploadToServer(File); 
        return Ok(Result); 
       } 
       else 
       { 
        return BadRequest("File is Required"); 
       } 
      } 
      catch (Exception ex) 
      { 
       return InternalServerError(ex); 
      } 
     } 
+0

Hallo Zain, mein Problem ist nicht unbedingt die Implementierung der Methode. Es ist so, dass ich die Methode wegen eines Routing-Problems nicht auslösen kann. – Steve

+0

können Sie den Code anzeigen? –