2016-04-02 16 views
0

Ich lade Fotos in eine externe Bibliothek und die API zu dieser Bibliothek benötigt den Pfad zu der Datei, die ich hochlade.Wie bekomme ich filePath von HttpPostedFileBase

Hier ist mein Code:

public ActionResult UploadImageToCloudinary(HttpPostedFileBase file, string group, string filter) 
    { 

     if (file != null && file.ContentLength > 0) 
     { 
      // extract only the fielname 
      var fileName = Path.GetFileName(file.FileName); 
      if (fileName != null) 
      { 
       // get path including filename 
       var path = Path.Combine(Server.MapPath("~/App_Data/uploads"), fileName); 

       // other unimportant logic 

     } 


     return Content("Fail"); 
    } 

ich dies getan haben, aber natürlich kann sie es nicht nach "~/App_Data/uploads" finden Sie gibt D:\Visual Studio Projects\Impola\Somefilder1\Somfolder2\App_Data\uploads\cara.jpg

und die reale Filepath ist D:\MyProjects\Images\cara.jpg, die das ist einen, den ich brauche.

Wie bekomme ich den echten Dateipfad?

+0

Sie bekommen diesen Pfad, weil Sie Ihre App von VS laufen lassen. Wenn Sie es veröffentlichen, erhalten Sie einen anderen Pfad. Nicht sicher, was Sie mit dem echten Dateipfad meinen: D: \ MyProjects \ Images \ cara.jpg_ –

Antwort

0

Sie können einfach den Pfad zu einem bestimmten Ordner ändern. Sie sollten den Ordner "Images" in Ihrer Anwendung erstellen, um Fehler zu vermeiden. Stellen Sie in der Produktion sicher, dass Sie die Schreibberechtigung für Ihre Anwendung im Ordner "Images" festlegen.

var path = Path.Combine(Server.MapPath("~/Images/"), fileName);