Rolf B: ASP MSAccess - input type file - wert in DB nicht ändern, wenn nichts verändert

Beitrag lesen

Hallo supernewb,

ich glaube, das Thema wird als Forensupport arg komplex.

Es ist jedenfalls nicht wichtig, ob das Laufwerk mit den Dateien im Webserver ist. Wichtig ist nur, dass der Webserver darauf zugreifen kann. Er muss ja auch gar nicht die Dateien auslesen können, es reicht, das Verzeichnis lesen zu dürfen. Und es ist wichtig, dass sich die Ordner mit den Dateien darin für alle User gleich präsentieren. Wenn der eine dafür Laufwerk K hat und der andere Laufwerk Q:, ist es schon schwierig. Hier helfen UNC Pfade (\\myserver\myshare\dir1\dir2\datei.dat), aber die gehen kaputt wenn der Server umbenannt wird. Wenn man über längere Zeit von einer Anwendung aus Dateien referenzieren will, braucht man ein Ablagekonzept, das auch Serverumzüge übersteht. Wieviele Ordner habt ihr? Gibt es eine Systematik? Wenn es bspw. nur 20 Ablageorte gibt, könnte man deren Pfade im Web konfigurieren - und wenn ein Ordner umzieht, die Konfiguration anpassen.

Wenn die Dateien irgendwie kreuz und quer verteilt liegen, habt ihr eventuell sowieso ein Ablageproblem und ein Archivier-Upload auf eine zentrale Instanz könnte nützlich sein. Ein Upload mit ASP ist allerdings wieder ein neues Problem, denn im Gegensatz zu bspw. PHP oder ASP.NET gibt es keine Unterstützung, Du musst den multipart-Datenstrom selbst parsen. Dafür kann man Komponenten im Netz finden (die habe ich nämlich gefunden als ich nach "Upload mit ASP" gesucht habe).

Wenn Du einen File Selektor bauen willst, ist es nicht so schlimm dass du selbst am Server nichts machen darfst. Es muss nur ein Admin da sein, der mitmacht. Wenn Du DEN nicht hast und nur über Fileupload von ASP Dateien herumfummeln darfst, dann wird es mühsam bis unmöglich. Zugriffe müssen berechtigt werden, dafür brauchst Du den Admin.

Ein Webserver kann durchaus auf File Shares im Netz zugreifen, wenn der User, unter dem die Website läuft (sprich: Der für den Application Pool eingestellte User) im Netzwerk Rechte hat. Wenn ihr ein Active Directory Netz habt, heißt das: Es muss ein Domänen-User sein. Sowas ist ohnehin nützlich, wenn man externe Services wie Webservices oder Datenbanken nutzt, weil man dann mit Integrated Authentication arbeiten kann und keine technischen User/Passwörter in der Anwendung hinterlegen braucht. Und einen Domain User kann man dann auf die Ordner lesend berechtigen, wo die Dateien liegen. Es ist natürlich nicht ganz trivial, und es muss mit den Admins besprochen sein.

Wenn ihr ein Arbeitsgruppen-Netz habt, sieht die Berechtigererei etwas anders aus, ist aber auch möglich. Nur hab ich damit keine Erfahrung.

Wenn Du die Rechte hast, dann gibt es in ASP es das Server Objekt. Mittels Server.CreateObject("System.FileSystemObject") kommst Du an das FileSystemObject heran und damit kannst Du Verzeichnisse lesen.

Basierend darauf kannst Du dann eine Dateiauswahl anbieten. Ein Beispiel habe ich nicht, dazu müsste ich mich jetzt erstmal in ASP hineinhängen und etwas bauen...

Rolf

--
sumpsi - posui - clusi