Comment télécharger un fichier d'un site web en utilisant HTML
Je suis le développement d'un site web et j'aimerais que les utilisateurs pourront télécharger des fichiers vers le serveur à l'aide d'une page web.
Du côté serveur .NET, mais ce n'est pas ASP.NET. Cela signifie que, je suis de la génération du code html de moi-même au lieu d'utiliser ASP.NET et je travaille avec l'chaîne et POST flux directement. C'est un bon exercice pour apprendre ce qui se passe sous le capot :D, spécialement aujourd'hui, quand il y a un cadre pour tout.
J'ai essayé de trouver des informations à ce sujet, mais j'ai trouvé plusieurs approches, certains d'entre eux javascript (chose que je veux éviter pour le moment) et de nombreux contrôles prédéfinis. Est ce que je veux faire moi-même, je ne m'inquiète pas si il est gentil, astucieux et bien éprouvée ASP.NET de contrôle... ce que je veux, c'est comprendre comment faire cela avec toutes ses implications.
Cheers!
Vous devez vous connecter pour publier un commentaire.
Dans le HTML, vous avez besoin d'un formulaire avec un input de type="file" et l'attribut enctype de l'ensemble de la forme de "multipart/form-data", plutôt que la valeur par défaut de "application/x-www-form-urlencoded".
Multipart/form-data est défini dans RFC 2388, et se comportent différemment à l'application/x-www-form-urlencoded vous avez été en analyse avec cette expérience, mais c'est assez simple. Le RFC devrait vous donner tout ce que vous devez savoir pour répliquer comment HttpRequest.Les fichiers de la propriété des œuvres dans ASP.NET.
Une extension de ce fait, essayer d'envoyer des flux de XMLHttpRequest dans une page ou HttpWebRequest dans un .NET client de l'application, à l'aide de POST et de le METTRE (vous pouvez avoir à modifier les paramètres IIS pour permettre à la METTRE de travers), comme c'est le chevauchement de travailler sur le long avec vos expériences ici couvrent une certaine connaissance qui a un peu de réel applicabilité même lorsque vous êtes à l'aide de toutes les boîtes à outils. Une autre extension est d'essayer de mettre en œuvre des deux côtés de ces deux régimes dans RFC2617 sans aucune aide du cadre (parfois le côté serveur de ce qui est véritablement utile).
Bravo pour expérimenter avec cela, il convient d'apporter une véritable expérience pour sauvegarder ce que vous pouvez apprendre à partir de la lecture La RFC 2616 (même si c'est encore tout à fait essentiel pour toute personne réalisant des contenus du web pour être intimiately familier avec, que la lecture va couvrir certains cas, votre les expérimentations de ne pas les toucher, et expliquer tout ce qui semble étrange dans vos résultats).
Je pense que le lien suivant contient les informations dont vous avez besoin:
http://www.cs.tut.fi/~jkorpela/forms/file.html
Fondamentalement, vous avez besoin d'un input type="file" et pour définir l'encodage de votre formulaire pour multipart/form-data.
Vous mettre dans un formulaire, et hasta la vista baby !
Vous ne pouvez pas faire un upload de fichier à l'aide de HTML pur: Vous devrez gérer les fichiers téléchargés sur le serveur.
Vous pu analyser le fichier téléchargé(s) de l'premières données POST si vous voulez apprendre comment il fonctionne "sous le capot" (voir ici pour un exemple de comment le faire en ASP), mais vous sera besoin d'une sorte de langage côté serveur pour le faire.