begin process at 2012 02 05 01:49:32
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

ASP.Net

 > UPLOAD FILE

UPLOAD FILE


 Information sur la source

Note :
5 / 10 - par 1 personne
5,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :ASP.Net Source .NET ( DotNet ) Classé sous :upload, upload image, upload file, uploader, uploadfiles Niveau :Débutant Date de création :24/04/2008 Date de mise à jour :24/04/2008 23:42:06 Vu / téléchargé :21 180 / 713

Auteur : bensoft2006

Ecrire un message privé
Commentaire sur cette source (11)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
uplouad un fichier vers un serveur par un script aspx (c#)
les image .gif et jpg vers le rep images et les autres fichier vers others......

Source

  • using System;
  • using System.Configuration;
  • using System.Data;
  • using System.Linq;
  • using System.Web;
  • using System.IO;
  • using System.Web.Security;
  • using System.Web.UI;
  • using System.Web.UI.HtmlControls;
  • using System.Web.UI.WebControls;
  • using System.Web.UI.WebControls.WebParts;
  • using System.Xml.Linq;
  • public partial class _Default : System.Web.UI.Page
  • {
  • string v;
  • protected void Page_Load(object sender, EventArgs e)
  • {
  • }
  • protected void Button1_Click(object sender, EventArgs e)
  • {
  • }
  • protected void Button1_Click1(object sender, EventArgs e)
  • {
  • TextBox1.Text = v;
  • HttpFileCollection uploadFilCol = Request.Files;
  • for (int i = 0; i < uploadFilCol.Count; i++)
  • {
  • HttpPostedFile file = uploadFilCol[i];
  • string fileExt = Path.GetExtension(file.FileName).ToLower();
  • string fileName = Path.GetFileName(file.FileName);
  • if (fileName != string.Empty)
  • {
  • try
  • {
  • if (fileExt == ".jpg" || fileExt == ".gif")
  • {
  • file.SaveAs(Server.MapPath("./Images/") +"bensoft"+ fileName);
  • }
  • else
  • {
  • file.SaveAs(Server.MapPath("./Others/") + fileName);
  • }
  • }
  • catch (Exception ex)
  • {
  • throw ex;
  • }
  • }
  • }
  • }
  • }
  • //*************************************************
  • <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
  • <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  • <html xmlns="http://www.w3.org/1999/xhtml">
  • <head runat="server">
  • <title>WebForm1</title>
  • <meta name="GENERATOR" Content="Microsoft Visual Studio .NET
  • 7.1">
  • <meta name="CODE_LANGUAGE" Content="C#">
  • <meta name="vs_defaultClientScript" content="JavaScript">
  • <meta name="vs_targetSchema"
  • content="http://schemas.microsoft.com/intellisense/ie5">
  • <script language="javascript" type="text/javascript">
  • // <!CDATA[
  • function FileUpload2_onclick() {
  • }
  • function FileUpload1_onclick() {
  • }
  • // ]]>
  • </script>
  • </HEAD>
  • <body MS_POSITIONING="GridLayout">
  • <form id="Form1" method="post" runat="server">
  • <asp:Button id="Button1" style="Z-INDEX: 101; LEFT: 280px;
  • POSITION: absolute; TOP: 101px" runat="server" Text="ÊÍãíá ÇáãáÝ Ãæ ÇáÕæÑÉ"
  • onclick="Button1_Click1" />
  • <div id="Div1" runat="server" style="Z-INDEX:102;LEFT:165px;WIDTH:1026px;
  • POSITION:absolute;TOP:7px;HEIGHT:19px">
  • <INPUT id="FileUpload1" style="WIDTH: 389px; HEIGHT: 22px"
  • type="file" size="45" runat="server" onclick="return FileUpload1_onclick()">
  • <asp:Label id="Label1" runat="server" Width="598px"
  • ForeColor="Red" />
  • </div>
  • <div id="Div2" runat="server" style="Z-INDEX:103;LEFT:166px;WIDTH:1026px;
  • POSITION:absolute;TOP:38px;HEIGHT:19px">
  • <INPUT style="WIDTH: 389px; HEIGHT: 22px" type="file"
  • size="45" runat="server" id="FileUpload2" onclick="return FileUpload2_onclick()">
  • <asp:Label id="Label2" runat="server" Width="357px"
  • ForeColor="Red" />
  • </div>
  • <div id="Div3" runat="server" style="Z-INDEX:104;LEFT:166px;WIDTH:1026px;
  • POSITION:absolute;TOP:68px;HEIGHT:19px">
  • <INPUT style="WIDTH: 377px; HEIGHT: 22px" type="file"
  • size="45" runat="server" id="FileUpload3">
  • <asp:Label id="Label3" runat="server" Width="361px"
  • ForeColor="Red" />
  • </div>
  • <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
  • </form>
  • </body>
  • </html>
using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.IO;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

public partial class _Default : System.Web.UI.Page
{
    string v;
    
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void Button1_Click(object sender, EventArgs e)
    {

    }
    protected void Button1_Click1(object sender, EventArgs e)
    {
        
        
        TextBox1.Text = v;

        HttpFileCollection uploadFilCol = Request.Files;
        for (int i = 0; i < uploadFilCol.Count; i++)
        {
            HttpPostedFile file = uploadFilCol[i];
            string fileExt = Path.GetExtension(file.FileName).ToLower();
            string fileName = Path.GetFileName(file.FileName);
            if (fileName != string.Empty)
            {
                try
                {
                    if (fileExt == ".jpg" || fileExt == ".gif")
                    {
                        file.SaveAs(Server.MapPath("./Images/") +"bensoft"+ fileName);
                    }
                    else
                    {
                        file.SaveAs(Server.MapPath("./Others/") + fileName);
                    }
                }
                catch (Exception ex)
                {
                    
                    throw ex;
                }
            }
        }
    }
}
//*************************************************


<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>WebForm1</title>
    <meta name="GENERATOR" Content="Microsoft Visual Studio .NET 

7.1">
    <meta name="CODE_LANGUAGE" Content="C#">
    <meta name="vs_defaultClientScript" content="JavaScript">
    <meta name="vs_targetSchema" 
    content="http://schemas.microsoft.com/intellisense/ie5">
  
<script language="javascript" type="text/javascript">
// <!CDATA[

function FileUpload2_onclick() {

}

function FileUpload1_onclick() {

}

// ]]>
</script>
</HEAD>
  <body MS_POSITIONING="GridLayout">
    <form id="Form1" method="post" runat="server">
      <asp:Button id="Button1" style="Z-INDEX: 101; LEFT: 280px; 
        POSITION: absolute; TOP: 101px" runat="server" Text="ÊÍãíá ÇáãáÝ Ãæ ÇáÕæÑÉ" 
          onclick="Button1_Click1" />
       <div id="Div1" runat="server" style="Z-INDEX:102;LEFT:165px;WIDTH:1026px;
       POSITION:absolute;TOP:7px;HEIGHT:19px">
          <INPUT id="FileUpload1" style="WIDTH: 389px; HEIGHT: 22px" 
            type="file" size="45" runat="server" onclick="return FileUpload1_onclick()">
          <asp:Label id="Label1" runat="server" Width="598px" 
            ForeColor="Red" />
       </div>
       <div id="Div2" runat="server" style="Z-INDEX:103;LEFT:166px;WIDTH:1026px;
       POSITION:absolute;TOP:38px;HEIGHT:19px">
          <INPUT style="WIDTH: 389px; HEIGHT: 22px" type="file" 
          size="45" runat="server" id="FileUpload2" onclick="return FileUpload2_onclick()">
          <asp:Label id="Label2" runat="server" Width="357px" 
          ForeColor="Red" />
        </div>
       <div id="Div3" runat="server" style="Z-INDEX:104;LEFT:166px;WIDTH:1026px;
       POSITION:absolute;TOP:68px;HEIGHT:19px">
          <INPUT style="WIDTH: 377px; HEIGHT: 22px" type="file" 
          size="45" runat="server" id="FileUpload3">
          <asp:Label id="Label3" runat="server" Width="361px" 
          ForeColor="Red" />
       </div>
      <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    </form>
  </body>

</html>





 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

24 avril 2008 14:18:00 :
rien
24 avril 2008 14:18:04 :
rien
24 avril 2008 23:42:05 :
rien
24 avril 2008 23:42:06 :
rien

 Sources de la même categorie

Source avec Zip Source .NET (Dotnet) GUESTBOOK AVEC GRIDVIEW par DanMor498
Source avec Zip CHECKED DROPDOWNLIST par fredzool
Source avec Zip Source avec une capture Source .NET (Dotnet) GRIDVIEW WITH TREEVIEW AND CALLBACK par fredzool
Source avec Zip APPELLER UN WEBSERVICE DEPUIS JAVASCRIPT par fredzool
Source avec Zip Source .NET (Dotnet) MONEY TEXTBOX WITH EMBEDED JAVASCRIPT par fredzool

 Sources en rapport avec celle ci

Source .NET (Dotnet) IMPORTER UN FICHIER EXCEL DEPUIS UN POSTE ET L'AJOUTER SUR L... par jseblavoie
Source avec Zip Source avec une capture Source .NET (Dotnet) UPLOADER PLUSIEURS FICHIERS AVEC BARRE DE PROGRESSION AJAX par clemox
Source avec Zip Source avec une capture UPLOAD FILES WITH A PROGRESSBAR ( ASPUPLOAD ) par chunait
Source avec Zip Source .NET (Dotnet) INSERTION / RECUPERATION D'IMAGE STOCKEE DANS UNE DB MS SQL ... par jimmy69
UTILISATION DE FTP.EXE DE WINDOWS EN ASP par Nicolas_kojack

Commentaires et avis

Commentaire de sebmafate le 24/04/2008 15:00:45 administrateur CS

Source déplacée : ceci est une "source" asp.net

Commentaire de jesusonline le 24/04/2008 15:43:44 administrateur CS

Il s'agit d'une source ASP.net 1.x, avec ASP.net 2.0 il faut mieux utiliser le contrôle <asp:fileupload qui permet de simplifier la plupart des choses.

Ton code dispose d'une ENORME faille de sécurité. Qu'est-ce qui se passe si j'upload la page "CrashServer.aspx" et que je vais à l'adresse /others/CrashServer.aspx ?
Voici quelques règles de base au sujet de l'upload :
  - ne jamais faire confiance à l'utilisateur !
  - ne jamais stocker les fichiers avec le nom et extensions proposé par l'utilisateur
  - si possible :
     - ne pas autoriser tous les types de fichier, valider les données avant de les sauvegarder
     - ne pas sauvegarder les données dans un repertoire ayant des droits d'execution.
         - le top est de stocker les fichiers dans un dossier non accessible via IIS, puis renvoyer le contenu du fichier via un handler dédié.


Au niveau du code, je te conseille d'utiliser un Path.Combine plutot que de la combinaison de string.
Au lieu de faire de faire un extension.toLower() pour comparer les extensions, tu peux utiliser un String.Compare("EXE", "eXe", StringComparison.InvariantCultureIgnoreCase)
Au lieu de faire un if (s != String.Empty) tu peux utiliser la méthode String.IsNullOrEmpty (peut être pas dispo en .net 1.x)

Commentaire de lakichemole le 25/04/2008 09:43:32

Jesusonline t'y va pas avec le dos de la cuillère :).
T'es un peux rude quand même :
"Qu'est-ce qui se passe si j'upload la page "CrashServer.aspx" et que je vais à l'adresse /others/CrashServer.aspx ?" à la limite dans son code l'utilisateur ne sais pas que son fichier a été uploader dans ce rep :)
Sinon chui tout d'accord voir même pire on enregistre les fichier avec un nom et une extention sans rapport avec l'originale genre "FILE02155841.up" et apres grâce un subterfuge stratagémique (une base de donnée) on associe le nom de l'originale avec le nouveau nom.
Et enfin grâce à un Handler (.ashx par exemple) qui va bien on gère le download.
D'ailleur merci a toi jesusonline c'est toi qui ma fait découvrir (et à quelques collègues) les ashx que j'utilise largement :).

Commentaire de coq le 27/04/2008 01:52:49 administrateur CS

Salut,

"à la limite dans son code l'utilisateur ne sais pas que son fichier a été uploader dans ce rep :)"
Ne jamais partir du principe que l'utilisateur est intelligent, mais ne pas partir non plus de celui qu'aucun d'entre eux n'est intelligent.
Surtout qu'avec un peu de chance on utilise un nom plus ou moins logique, et donc facile à deviner.

Bref, partir du principe qu'il y en a plus d'un qui l'est plus que nous, et qu'il nous en veux quand même : le stockage dans un répertoire innacessible à la navigation est indispensable ;-)

Commentaire de bensoft2006 le 27/04/2008 15:25:26

ça c'est un principe et a vous de faire la suite pour un programmeur le fichier doit etre sauvgardé avec un nom crepté et le nom doit etre sauvgarder dans un table .
un hackeur peu faire du male si le programmeur est un newbie .

merci ...

Commentaire de lakichemole le 28/04/2008 09:30:04

Me faite pas dire se que j'ai pas dis!
De plus un vrai hacker sera toujours meilleur qu'un vrai développeur c'est qu'une question de temps donc d'argent.Un gas qui ve se faire son site pépère sans se prendre la tête avec un site sans données sensible il fera sont site au plus vite.
Perso j'ai jamais eu d'antivirus c'est pas pour ça que j'en ais (des virus).Et mes clefs wifi sont pas les plus sur du monde et pis tant pis elles sont plus facile à retenir quand des amis viennent à la maison :)
Enfin voila quoi chaque niveau de sécurité ajouté à un coup.
La vie n'est qu'une question de priorité!

Commentaire de lakichemole le 28/04/2008 18:25:53

A puis une question tu dis "le fichier doit etre sauvegardé avec un nom crepté" pourquoi crypter le nom ? Ça sous entend que tes liens de téléchargement sont liée directement à un fichier en dure et non à un flux? Si c'est le cas je citerais notre amis Coq : "le stockage dans un répertoire inaccessibles à la navigation est indispensable ;-)" et donc nul besoin de crypter le nom des fichiers (en tout cas au niveau sécurité après niveau doublons de nom je dis pas, mais gérer les doublons en cryptant autant utiliser une bombe nucléaire pour tuer une mouche).

Commentaire de billou_13 le 02/05/2008 13:28:13 5/10

Bonjour,

Merci pour la discussion, la démonstration de la faille est plus qu'intéressante.
Cependant, ne connaissant pas les handlers, auriez-vous des liens ou autres qui seraient susceptibles de m'expliquer la mise en place et le fonctionnement ?
J'avoue: je n'ai pas encore chercher sur le net et sur le forum, je viens juste de lire la discussion et je me dis qu'il vaut mieux demander au cas où vous auriez cela sous le coude.

Je vous remercie par avance,

Très bonne fin de journée,


Billou_13

Commentaire de billou_13 le 02/05/2008 13:30:25

C'est bien ce que je venais de dire ^^: j'avais pas chercher car après une minute, voici un lien qui tombe:
http://humann.developpez.com/httphandler/

Bonne journée,


Billou_13

Commentaire de fetjalal le 23/08/2008 22:37:18

svp vs pouvais m'expliquez comment je peut l'introduire dans mon site web? et est ce qu'il y a une possibilité de le configuré celant le besoin merci bcps
votre ami du maroc ;)

Commentaire de fetjalal le 23/08/2008 22:38:31

et voila mon msn si vous voulez m'envoié un truc

jalal@9.cn

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

pour nix à propos de upload 2.0 [ par bernard ] Salut Nix,Tout d'abord merci pour le code, je l'utilise actuellement pour uploader 1 fichier attaché depuis mon site dans le cadre d'un dépot de CV en probleme Uploader Fichier [ par sergiodonini ] Bonjour M.Nix, j'ai un petit probleme quand j'upload un fichier sur le serveur iis.&nbsp; je me suis servi de votre code qui se trouve sur l'adresse s Upload script défaillant [ par peguman ] J'ai un script venant de Nicolas Chu de nec-technologies.net pour ceux qui connaissent...son script apparait aussi sur asp-magasine...Mon probleme rés upload...help [ par peguman ] J'ai un script venant de Nicolas Chu de nec-technologies.net pour ceux qui connaissent...son script apparait aussi sur asp-magasine...Mon probleme rés script upload probleme!!! [ par peguman ] J'ai un script venant de Nicolas Chu de nec-technologies.net pour ceux qui connaissent...son script apparait aussi sur asp-magasine...Mon probleme rés upload d'un fichier sans composant ni formulaire [ par Jarodnet ] Hello !je recherche le moyen d'uploader un fichier en ASP (VBScript).Dans mon code, dans un premier temps, je parcours le répertoire partagé donné par Comment changer le "type of file" d'un upload!!!!!! [ par Merry29 ] Bonjour/Bonsoir a tousJ'ai vraiment besoin de savoir si c'est possible de changer la valeur par defaut d'un upload d'une "web form"... je voudrais que upload => asp.net [ par jimmy69 ] Bonjour a tous,J'essaye d'uploader des fichiers ....grace aux sources trouves sur ce site j'arrive bien a uploader un fichier ds un repertoire determi Filtrer des fichiers à uploader par leur extension [ par fr64 ] Bonjour,Dans un champ de formulaire &lt;INPUT type="file"&gt;, existe t'il une propriété qui permette de définir un masque de sélection des types de f Probléme d'upload sans formulaire [ par djcal007 ] Bonjour tout le monde,j'ain un petit probléme d'uploadje génre localemnt par javascript un fichieret j'aimerai ensuite uploader ce fichier sans passer


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,075 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales