2009-10-10 6 views
0

J'ai un fichier HTML avec le balisage ci-dessous:Besoin de comprendre pourquoi le téléchargement ne se fait pas dans ce cas?

<!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> 
    <title>Upload Page</title> 
</head> 
<body> 
    <form id="frmUpload" action="UploadHandler.ashx" method="post" enctype="multipart/form-data">   
     <input type="file" /><br /> 
     <br /> 
     <input id="Submit1" type="submit" value="Submit" /> 
    </form> 
</body> 
</html> 

J'ai un gestionnaire (ashx) fichier pour gérer le téléchargement qui va comme ceci:

<%@ WebHandler Language="VB" Class="UploadHandler" %> 

Imports System 
Imports System.Web 
Imports System.Diagnostics 

Public Class UploadHandler : Implements IHttpHandler 

    Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest 
     Dim str As String 
     str = "EncType = " & context.Request.ContentType 
     str &= vbCrLf 
     str &= "File Count = " & context.Request.Files.Count 
     context.Response.ContentType = "text/plain" 
     context.Response.Write(str) 
    End Sub 

    Public ReadOnly Property IsReusable() As Boolean Implements IHttpHandler.IsReusable 
     Get 
      Return False 
     End Get 
    End Property 

End Class 

Quand je travaille avec le page html, je sélectionne un fichier et faire un soumettre, je reçois une réponse comme ceci:

EncType = multipart/form-data; boundary=---------------------------7d9232a130656 
File Count = 0 

J'attendais le nombre de fichiers à 1 ici, mais il est 0 ... ce qui est faux?

Répondre

1

Essayez de donner un nom à votre balise d'entrée:

<input type="file" name="fileToUpload" /> 
+0

Je vais donc avoir une erreur similaire avec d'autres moteurs web comme php, ruby, etc ...? – deostroll

+1

Oui. Cela n'a rien à voir avec le côté serveur, tout navigateur omettra toujours les champs sans nom d'une soumission. – bobince

1

Vous n'avez pas un attribut name sur votre fichier <input>:

<input type="file" name="myFile"/><br />