Domanda

sto sviluppando un sito web e mi piacerebbe gli utenti siano in grado di caricare file sul server utilizzando una pagina web.

Il lato server è NET, ma non è ASP.NET. Ciò significa, sto generando il codice html me invece utilizzando ASP.NET, e sto lavorando con la stringa GET e POST flusso direttamente. E 'un buon esercizio per imparare ciò che accade sotto il cofano: D, specialmente al giorno d'oggi, quando v'è un quadro di riferimento per tutto.

Ho cercato di trovare informazioni su questo, ma ho trovato diversi approcci, alcuni dei quali JavaScript (cosa che voglio evitare, per il momento) e un sacco di controlli predefiniti. Quello che voglio è quello di farlo anche io, non mi interessa se c'è una bella, elegante e ben collaudato controllo ASP.NET ... Quello che voglio è capire come farlo con tutte le sue implicazioni.

Cheers!

È stato utile?

Soluzione

Nel codice HTML è necessario un modulo con un ingresso di tipo = "file" e l'attributo enctype del modulo impostato su "multipart / form-data", piuttosto che il valore predefinito di "application / x-www-form-urlencoded ".

Multipart / form-data è definita RFC 2388 , e si comportano in modo diverso per l'applicazione / x-www-form-urlencoded hai analisi con questo esperimento finora, anche se è abbastanza straight-forward. Il RFC dovrebbe darvi tutto quello che dovete sapere per replicare come la proprietà HttpRequest.Files funziona in ASP.NET.

Un'estensione di questo, provare l'invio di flussi da XMLHttpRequest in una pagina o HttpWebRequest in un'applicazione client .NET, utilizzando sia POST e PUT (potrebbe essere necessario cambiare IIS impostazioni per consentire il PUT through), in quanto questo la sovrapposizione di lavorando su questo insieme con i vostri esperimenti qui coprirà una certa conoscenza che ha qualche reale applicabilità anche quando si utilizzano tutti i toolkit. Un'altra estensione è di provare l'attuazione entrambi i lati degli schemi a RFC2617 senza alcun aiuto dal quadro (a volte il lato server di questo è veramente utile).

Complimenti per la sperimentazione di questo, si dovrebbe portare vera e propria esperienza per eseguire il backup cosa si può imparare dalla lettura di RFC 2616 (anche se questo è ancora assolutamente vitale per chiunque fare roba web per essere intimiately familiarità con, la lettura coprirà alcuni casi i vostri esperimenti non toccano, e spiegare tutto ciò che sembra strano nei risultati).

Altri suggerimenti

Credo che il seguente link deve contenere le informazioni necessarie:

http://www.cs.tut.fi/~jkorpela /forms/file.html

In pratica si ha bisogno di un input type = "file" e per impostare la codifica del modulo per multipart / form-data.

<input type="file" name="somename" size="n"> 

È messo che in una forma, e Hasta la vista baby!

Non si può fare un file caricare con puro HTML:. Sarà necessario gestire i file caricati sul lato server

Si potrebbe analizzare il file caricato (s) fuori dai dati grezzi POST se volete imparare come funziona "sotto il cofano" (vedi qui per un esempio come farlo in ASP), ma bisogno di qualche tipo di linguaggio lato server per farlo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top