sono obbligato a far scegliere all'utente il file e vorrei evitarlo per rendere più snella la procedura
C'è un altro modo?
Per ovvi motivi di sicurezza, così come ti è stato già indicato,
non è possibile accedere ad alcun file locale del disco dell'utente che non sia stato esplicitamente selezionato o "trascinato" dall'utente stesso all'interno del browser.
Se così non fosse, qualsiasi pagina Web potrebbe potenzialmente leggere e acquisire un file senza permesso e sarebbe piuttosto grave!
Quello che puoi fare per snellire la procedura è aiutarti con un
programma che gira sul client da associare magari a un protocollo personalizzato; in breve, puoi associare una tua applicazione client (es.
WPF o
WinForms) a un particolare protocollo (come nel caso di Skype che si riserva il protocollo
"skype:") e utilizzare quel prefisso all'interno di un link che consente dal browser di richiamare la tua applicazione, passando tutto quello che segue il protocollo nel link all'applicazione, come se fosse un parametro da riga di comando.
Questo presuppone che tu abbia
precedentemente installato questo client sulla macchina dell'utente, e che la procedura di installazione o l'app abbia
registrato se stessa come programma di gestione del protocollo (basta scrivere un paio di informazioni nel
Registro di Windows).
Qualsiasi altra soluzione "Web based", per dirla in questi termini, è fuori discussione poiché
l'accesso a risorse locali e al disco non è assolutamente consentito.
Ciao!