Un metodo per controllare il tipo di file che viene caricato appartiene al controller?

3

Se creo un controller che ha un metodo ActionResult UploadFile(HttpPostedFileBase file) Dove è il posto migliore per aggiungere il codice che verificherà che questo sia un file valido e utilizzabile? La ragione per cui lo chiedo è che dovrò fare più controlli che solo l'estensione del file. Per esempio; controlla il numero di colonne nel foglio elettronico, controlla i nomi delle colonne, ecc.

    
posta MVCylon 23.05.2011 - 21:15
fonte

3 risposte

5

Il modo migliore che ho trovato per determinare quando dovrei spostare il codice dalla "presentazione" al livello "servizio" è porre la domanda ... se cambio client (da mvc a winforms), è questo codice " riutilizzabile "da entrambi i clienti?

Nel tuo caso, ad esempio, il codice che esegue una convalida più profonda dovrebbe trovarsi nel livello di servizio, non nel controller, in modo che possa essere utilizzato allo stesso modo da più client. In altre parole, non è necessario riscriverlo di nuovo. Questo metodo funziona per me e mantiene i miei controller magri come un modello anoressico di Victoria's Secret:)

    
risposta data 04.10.2012 - 00:24
fonte
2

Does a method to check the file type being uploaded belong in the controller?

No, la logica aziendale appartiene al livello "Servizio".

Regola empirica con MVC:

Keep your models fat and your controllers skinny.

Per ulteriori informazioni sullo sfondo, consulta questo thread .

    
risposta data 23.05.2011 - 23:24
fonte
0

È possibile leggere il flusso di file nel controller e quindi passare il file a una logica aziendale successiva che gestirà analisi più complesse.

    
risposta data 23.05.2011 - 21:18
fonte

Leggi altre domande sui tag