Πώς μπορώ να ξέρω τη φυσική διαδρομή από το επιλεγμένο αρχείο (bootstrap fileupload)




Είμαι κάνει μια web εφαρμογή στο MVC, έχω μια άποψη όπου επιλέξετε ένα αρχείο από τον υπολογιστή μου κατάλογο (όπως OpenDialog μορφή στα παράθυρα εφαρμογών), bootstrap's fileupload παίρνει το όνομα του αρχείου, αλλά θέλω να μάθω φυσική διαδρομή του στην Αθήνα. Επειδή θέλω να το αποθηκεύσετε στη βάση δεδομένων μου (όπου το αρχείο προέρχεται από το).


Ο καθένας μπορεί να με βοηθήσει ?? 


Ευχαριστώ εκ των προτέρων!
Δεν μπορείτε, αυτή η πληροφορία δεν αποστέλλεται στο διακομιστή για προφανείς λόγους ασφαλείας. Μόνο το όνομα του αρχείου που αποστέλλεται στο διακομιστή. Έτσι, δεν μπορείτε να αποθηκεύσετε τη φυσική διαδρομή όπου βρίσκεται το αρχείο προέρχεται από το μηχάνημα του πελάτη στον κεντρικό υπολογιστή σας.
αν εννοείς μουσικα video τοτε youtube-dl με καποιο frontend οπως το [youtube-dl-gui](https://github.com/mrs0m30n3/youtube-dl-gui) ή το [clickgrab](https://download.clipgrab.org/clipgrab-3.9.6-x86_64.appimage) πιστευω θα σε βολεψουν.

αν εννοεις και με μετρατροπη σε mp3 τοτε και αυτο το υποστηριζουν τα εν λογω frontends αρκει να αλλαξεις το ειδος του αρχειου που σωζεις σε καθε περιπτωση.

ελπιζω να βοηθησα Σε μια λύση στο Visual Studio μπορείτε να έχετε ένα έργο βιβλιοθήκη κατηγορίας που βρίσκεται συνήθως σε έναν κατάλογο κάτω από το αρχείο .sln.


Σε αυτή την περίπτωση έχει επίσης ένα έργο web μέσα στο διάλυμα, αλλά ΔΕΝ κάτω από το αρχείο .sln στη δομή του καταλόγου αρχείων. 


Θα πρέπει να συνδέονται με αυτό το έργο μέσω HTTP και όχι μέσω των τοπικών διαδρομή αρχείου.


IIS θα διαχειριστεί αυτό το [http: // localhost / webapp](http://localhost/webapp) και εξ ορισμού θα το τοποθετήσετε στο c: \ inetpub \ wwwroot \ webapp. Τα αρχεία στο φάκελο webapp δεν θα είναι σε repo που arent στην ιεραρχία της λύσης και τη βιβλιοθήκη κατηγορίας. Αυτό είναι το ερώτημα του πώς να το λύσουμε.


Η απάντησή μου είναι να προχωρήσουμε [http: // localhost / webapp](http://localhost/webapp) να επισημάνω σε ένα φάκελο που είναι κάτω από το αρχείο .sln και δίπλα στον κατάλογο της βιβλιοθήκης τάξης, τότε μπορούμε όλοι να πάνε στο repo.


Χωρίζει τη βιβλιοθήκη τάξη και την την εφαρμογή ιστού είναι καλύτερη πρακτική για να βοηθός κωδικό επαναχρησιμοποίηση και την αποσύνδεση της λογικής από την ιστοσελίδα. Ναι, το Visual Studio θα αντιγράψετε ένα αρχείο DLL με την πορεία εξόδου σε οποιαδήποτε από τις δύο προϋποθέσεις κατωτέρω:


1. Το αρχείο DLL αναφέρεται ρητά με CopyLocal = true
2. Το αρχείο DLL αναφέρεται χωρίς CopyLocal ή έμμεσα μέσω κάποιου άλλου DLL που αναφέρεται **και δεν είναι στο GAC**


Ο λόγος για τον οποίο δεν θα αντιγράψει τοπικής όταν το αρχείο είναι στο GAC, είναι ότι κατά την επίλυση ονομάτων συνέλευση η GAC έχει ύψιστη προτεραιότητα, δηλαδή ακόμα και αν έχετε ένα (διαφορετικό) τοπικό αντίγραφο, θα χρησιμοποιείται η έκδοση από το Συμβούλιο Γενικών Υποθέσεων.


Σας προτείνω να δημιουργήσει έναν κατάλογο βιβλιοθήκης όπου θα τεθούν όλα τα εξωτερικά συγκροτήματα που αναφέρονται. Στη συνέχεια θα δημιουργήσει μια δέσμη ενεργειών αυτόματης MSBuild σε έναν υπολογιστή (ή VM) που δεν έχουν την Oracle-αρχείο gac'ed (ούτε Visual Studio εγκατασταθεί για αυτή την χάρη). Με αυτόν τον τρόπο, το αρχείο θα αντιγραφεί στην κατασκευή, και θα έχετε περισσότερο έλεγχο πάνω στο τι γίνεται ό, τι όταν χρησιμοποιείτε VS. Ρίξτε μια ματιά στο [έργο ανοικτού δρόμου χάρτη](http://www.openstreetmap.org/) για να δούμε πώς αυτό το είδος του πράγματος αντιμετωπίζεται σε ένα έργο αληθινά ελεύθερο λογισμικό με τη χρήση μόνο των χρηστών που παρέχεται και με άδεια τα δεδομένα και να έχουν ένα [wiki που περιέχει πράγματα που μπορεί να σας ενδιαφέρουν](http://wiki.openstreetmap.org/index.php/Main_Page) .


Λίγα χρόνια πίσω τα παιδιά που συμμετέχουν, όπου αρκετά εύκολο και θα απαντήσει σε πολλές ερωτήσεις που είχα τόσο βλέπω κανένα λόγο γιατί ακόμα δεν είναι ένα ωραίο μπουκέτο. Τρέχουμε [Buildbot - Trac](http://buildbot.net/trac) στην εργασία. Δεν έχω χρησιμοποιήσει πάρα πολύ από την βάση κώδικα μου δεν είναι μέρος του κύκλου κυκλοφορίας ακόμα. Αλλά θα τρέξει τις δοκιμές σε διαφορετικά περιβάλλοντα (OSX / Linux / Win) και στέλνει μηνύματα ηλεκτρονικού ταχυδρομείου - και είναι γραμμένο σε Python. χωρίς να είμαι 100% βέβαιος η πληροφορία αποθηκεύετε ως matadata στο gvfs, οπότε υποθέτω στον φάκελο .local/share/gvfs-metadata. ακόμα και αν έχω λάθος σε αυτό ένα πλήρες αντίγραφο του φακέλου χρήστη θα κρατήσει αυτή την πληροφορία. Οι αλλαγές που κάνετε με Wordpress διαχειριστή δεν αποθηκεύονται σε τοπικά αρχεία (στο αποθετήριο git), αλλά στη βάση δεδομένων. Ο τρόπος για να προχωρήσουμε είναι να απορρίπτουν την απομακρυσμένη βάση δεδομένων σε ένα αρχείο και εισαγωγή ότι στον τοπικό υπολογιστή σας. Η διαδικασία περιγράφεται καλύτερα στο wordpress τεκμηρίωση: [Backing\_Up\_Your\_Database](https://codex.wordpress.org/Backing_Up_Your_Database)


Υπάρχουν επίσης plugins που αυτοματοποιεί την πρόοδο. Περιγράφεται στο τέλος του άρθρου. Πρόσφατα προσπάθησα να πάρετε μια αυτόματη ροή εργασίας git, αλλά δεν είναι εύκολο με δωρεάν plugins. Τι μπορεί να σας βοηθήσει να είναι [wp\_cli](https://wp-cli.org/de/) . Θα προσθέσει εντολές της γραμμής εντολών για την εξαγωγή της βάσης δεδομένων. Εάν χρησιμοποιείτε πολλαπλά αρχεία .htaccess να είναι σίγουρος για να ρυθμίσετε το AuthName το ίδιο. Αυτό λέει το πρόγραμμα περιήγησης που πρέπει να παρέχεται η ίδια προσωρινής αποθήκευσης uid / κωδικό πρόσβασης για αυτό το «βασίλειο». HTML θα είναι η επόμενη καλύτερη επιλογή, μόνο αν θα τους εξυπηρετήσει από ένα δημόσιο web server. Αν προσπαθήσει να το συνδυάσει με την εφαρμογή σας, όλα τα αρχεία (και εικόνες (και φύλλων στυλ (και ...))) θα κάνει CHM μοιάζει με ένα δώρο από τους θεούς.


Τούτου λεχθέντος, όταν στην πραγματικότητα στο πακέτο εγκατάστασης, (αντί να εξυπηρετούνται μέσω του δικτύου), βρήκα τα αρχεία CHM να δουλέψουν καλά.


OTOH, μια άλλη παγίδα για τα αρχεία CHM: Ακόμα και αν προσπαθείτε να ανοίξετε ένα αρχείο CHM σε έναν **τοπικό** δίσκο, μπορείτε να χτύπημα σε μπλοκ ασφαλείας, αν κατεβάσει αρχικά από κάπου, επειδή το αρχείο θα μπορούσε να επισημανθεί ως «προήλθε από εξωτερική πηγή» όταν ελήφθη. Δεν έχω δουλέψει με IE στοιχεία αρχείο εισόδου για λίγο, αλλά νομίζω ότι θυμάμαι ακόμα αρκετά για να είναι χρήσιμη.


Όπως θυμάμαι, IE ανοίγει οποιοδήποτε αρχείο εισόδου που δεν έχει οριστεί από την ίδια IE. Νομίζω ότι η λογική τους είναι «υποδοχές αρχείο θα πρέπει να έχει μόνο έγκυρες διαδρομές που προορίζεται ο χρήστης, έτσι ώστε αν ένα αρχείο εισόδου έχει οριστεί από το JavaScript, ας υποθέσουμε ότι είναι κακόβουλο και να καθαρίσει το INPUT».


Έτσι, αν η λογική επικύρωση σας περιέχει κάθε είδους `$("INPUT[type='file']").val(something)`-όπως πράγματα, ότι θα μπορούσε να εξηγήσει τη συμπεριφορά που είδατε. Ελπίδα που βοηθά.