none
File Upload in anderes Projekt in gleicher Solution RRS feed

  • Frage

  • Hallo!

    Wie der Titel schon sagt, möchte ich einen File Upload in ein anderes Projekt in der gleichen Solution machen.

    Die Solution besteht aus drei Projekten:

    physical_path/Frontend/...
    physical_path/Models/...
    physical_path/Backend/...

    Über das Backend, welches dann unter Domain backend.meinedomain.de läuft, werden die Dateien hochgeladen. Im Frontend unter meinedomain.de sollen diese dann gespeichert werden.

    Bis jetzt hab ichs so gemacht:

    HttpContext.Current.Server.MapPath("~" + DirSeperator + "Content" + DirSeperator + "Uploads" + DirSeperator);


    und damit das im Frontend Projekt gespeichert wird, hab ich den Pfad auf folgenden umgeschrieben:

    HttpContext.Current.Server.MapPath("~" + DirSeperator + ".." + DirSeperator + "Megmaxx " + DirSeperator + " Content" + DirSeperator + "Uploads" + DirSeperator);


    Das klappt jedoch nicht, und ich bekomme folgenden Error:

    Cannot use a leading .. to exit above the top directory.

    Ist mein Ansatz überhaupt richtig?

    Muss ich die Permissions umstellen?

    Und wie verhält sich das dann am Server (wird dann wohl Azure oder AppHarbor werden)?

    Vielen Dank im Voraus,

    ciao Tobi


    Donnerstag, 7. Februar 2013 17:02

Antworten

  • Hi,

    letztendlich ist es egal, woher der Upload kommt. Du speicherst immer im Dateisystem, nicht in einem Projekt.

    Wenn Du die Berechtigungen nicht selbst setzen kannst, kann es aber passieren, dass Du bei Ausführung in WebsiteX bzw. AnwendungX keinen Zugriff auf den Pfad in WebsiteY bzw. AnwendungY hast.

    Sinnvoller wäre es wahrscheinlich aber eh, wenn Du die Dateien nicht direkt im Websiteordner ablegst, sondern ein spezielles Verzeichnis nimmst, dass in beiden Anwendungen im IIS dann als virtueller Ordner hinzugefügt wird.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

    Donnerstag, 7. Februar 2013 19:59
    Moderator

Alle Antworten

  • Hi,

    letztendlich ist es egal, woher der Upload kommt. Du speicherst immer im Dateisystem, nicht in einem Projekt.

    Wenn Du die Berechtigungen nicht selbst setzen kannst, kann es aber passieren, dass Du bei Ausführung in WebsiteX bzw. AnwendungX keinen Zugriff auf den Pfad in WebsiteY bzw. AnwendungY hast.

    Sinnvoller wäre es wahrscheinlich aber eh, wenn Du die Dateien nicht direkt im Websiteordner ablegst, sondern ein spezielles Verzeichnis nimmst, dass in beiden Anwendungen im IIS dann als virtueller Ordner hinzugefügt wird.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

    Donnerstag, 7. Februar 2013 19:59
    Moderator
  • Hi!

    Danke für deine Antwort.

    Und wie bekomme ich den Pfad (im Programmcode) im Programmcode? Ich habe ja schon probiert das Projektverzeichnis mit .. zu verlassen, aber das wurde ja mit einem Error abgebrochen.

    Meinst du mit virtueller Ordner ein virtualdirectory?

    Wie kann ich ein solches anlegen und in beiden Projekten darauf zugreifen?

    Freitag, 8. Februar 2013 11:15