Condividi tramite


WebClient.UploadFile Metodo

Definizione

Carica un file locale in una risorsa con l'URI specificato.

Overload

UploadFile(String, String)

Carica il file locale specificato in una risorsa con l'URI specificato.

UploadFile(Uri, String)

Carica il file locale specificato in una risorsa con l'URI specificato.

UploadFile(String, String, String)

Carica il file locale specificato nella risorsa specificata usando il metodo specificato.

UploadFile(Uri, String, String)

Carica il file locale specificato nella risorsa specificata usando il metodo specificato.

UploadFile(String, String)

Origine:
WebClient.cs
Origine:
WebClient.cs
Origine:
WebClient.cs

Carica il file locale specificato in una risorsa con l'URI specificato.

public:
 cli::array <System::Byte> ^ UploadFile(System::String ^ address, System::String ^ fileName);
public byte[] UploadFile (string address, string fileName);
member this.UploadFile : string * string -> byte[]
Public Function UploadFile (address As String, fileName As String) As Byte()

Parametri

address
String

URI della risorsa da ricevere. Ad esempio, ftp://localhost/samplefile.txt.

fileName
String

File da inviare alla risorsa. Ad esempio, "samplefile.txt".

Restituisce

Byte[]

Matrice Byte contenente il corpo della risposta dalla risorsa.

Eccezioni

Il parametro address è null.

-o-

Il parametro fileName è null.

L'URI formato dalla combinazione di BaseAddresse address non è valido.

-o-

fileName è null, è Empty, contiene caratteri non validi o non esiste.

-o-

Errore durante il caricamento del file.

-o-

Non è stata ricevuta alcuna risposta dal server che ospita la risorsa.

-o-

L'intestazione Content-type inizia con multipart.

Esempio

Nell'esempio di codice seguente il file specificato viene caricato nell'URI specificato usando UploadFile. Qualsiasi risposta restituita dal server viene visualizzata nella console.

Console::Write( "\nPlease enter the URI to post data to : " );
String^ uriString = Console::ReadLine();

// Create a new WebClient instance.
WebClient^ myWebClient = gcnew WebClient;
Console::WriteLine( "\nPlease enter the fully qualified path of the file to be uploaded to the URI" );
String^ fileName = Console::ReadLine();
Console::WriteLine( "Uploading {0} to {1} ...", fileName, uriString );

// Upload the file to the URI.
// The 'UploadFile(uriString, fileName)' method implicitly uses HTTP POST method.
array<Byte>^responseArray = myWebClient->UploadFile( uriString, fileName );

// Decode and display the response.
Console::WriteLine( "\nResponse Received::The contents of the file uploaded are: \n {0}", 
    System::Text::Encoding::ASCII->GetString( responseArray ) );
Console.Write("\nPlease enter the URI to post data to : ");
String uriString = Console.ReadLine();

// Create a new WebClient instance.
WebClient myWebClient = new WebClient();

Console.WriteLine("\nPlease enter the fully qualified path of the file to be uploaded to the URI");
string fileName = Console.ReadLine();
Console.WriteLine("Uploading {0} to {1} ...",fileName,uriString);

// Upload the file to the URI.
// The 'UploadFile(uriString,fileName)' method implicitly uses HTTP POST method.
byte[] responseArray = myWebClient.UploadFile(uriString,fileName);

// Decode and display the response.
Console.WriteLine("\nResponse Received. The contents of the file uploaded are:\n{0}", 
    System.Text.Encoding.ASCII.GetString(responseArray));

Console.Write(ControlChars.Cr + "Please enter the URI to post data to : ")
Dim uriString As String = Console.ReadLine()

' Create a new WebClient instance.
Dim myWebClient As New WebClient()

Console.WriteLine(ControlChars.Cr & _
    "Please enter the fully qualified path of the file to be uploaded to the URI")

Dim fileName As String = Console.ReadLine()
Console.WriteLine("Uploading {0} to {1} ...", fileName, uriString)

' Upload the file to the URI.
' The 'UploadFile(uriString,fileName)' method implicitly uses HTTP POST method. 
Dim responseArray As Byte() = myWebClient.UploadFile(uriString, fileName)

' Decode and display the response.
Console.WriteLine(ControlChars.Cr & "Response Received. The contents of the file uploaded are: " & _
    ControlChars.Cr & "{0}", System.Text.Encoding.ASCII.GetString(responseArray))

Nell'esempio di codice seguente viene illustrata una pagina di ASP.NET che può accettare file inviati ed è adatta per l'uso con il metodo UploadFile. La pagina deve risiedere in un server Web. L'indirizzo fornisce il valore per il parametro address del metodo UploadFile.

<%@ Import Namespace="System"%>
<%@ Import Namespace="System.IO"%>
<%@ Import Namespace="System.Net"%>
<%@ Import NameSpace="System.Web"%>

<Script language="C#" runat=server>
void Page_Load(object sender, EventArgs e) {
    
    foreach(string f in Request.Files.AllKeys) {
        HttpPostedFile file = Request.Files[f];
        file.SaveAs("c:\\inetpub\\test\\UploadedFiles\\" + file.FileName);
    }	
}

</Script>
<html>
<body>
<p> Upload complete.  </p>
</body>
</html>
<%@ Import Namespace="System"%>
<%@ Import Namespace="System.IO"%>
<%@ Import Namespace="System.Net"%>
<%@ Import NameSpace="System.Web"%>

<Script language="VB" runat=server>
    Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
        
        Dim f As String
        Dim file
        For Each f In Request.Files.AllKeys
            file = Request.Files(f)
            file.SaveAs("c:\inetpub\test\UploadedFiles\" & file.FileName)
        Next f
        
    End Sub

</Script>
<html>
<body>
<p> Upload complete. </p>
</body>
</html>

Commenti

Cautela

WebRequest, HttpWebRequest, ServicePointe WebClient sono obsoleti e non è consigliabile usarli per nuovi sviluppi. Usare invece HttpClient.

Il metodo UploadFile invia un file locale a una risorsa. Questo metodo usa il comando STOR per caricare una risorsa FTP. Per una risorsa HTTP, viene usato il metodo POST.

Questo metodo blocca durante il caricamento del file. Per continuare l'esecuzione durante l'attesa della risposta del server, utilizzare uno dei metodi di UploadFileAsync.

Il metodo POST è definito da HTTP. Se la richiesta sottostante non usa HTTP e POST non viene riconosciuta dal server, le classi di protocollo sottostanti determinano cosa accade. In genere, viene generata una WebException con la proprietà Status impostata per indicare l'errore.

Se la proprietà BaseAddress non è una stringa vuota ("") e address non contiene un URI assoluto, address deve essere un URI relativo combinato con BaseAddress per formare l'URI assoluto dei dati richiesti. Se la proprietà QueryString non è una stringa vuota, viene aggiunta a address.

Nota

Questo membro restituisce informazioni di traccia quando si abilita la traccia di rete nell'applicazione. Per altre informazioni, vedere Traccia di rete in .NET Framework.

Si applica a

UploadFile(Uri, String)

Origine:
WebClient.cs
Origine:
WebClient.cs
Origine:
WebClient.cs

Carica il file locale specificato in una risorsa con l'URI specificato.

public:
 cli::array <System::Byte> ^ UploadFile(Uri ^ address, System::String ^ fileName);
public byte[] UploadFile (Uri address, string fileName);
member this.UploadFile : Uri * string -> byte[]
Public Function UploadFile (address As Uri, fileName As String) As Byte()

Parametri

address
Uri

URI della risorsa da ricevere. Ad esempio, ftp://localhost/samplefile.txt.

fileName
String

File da inviare alla risorsa. Ad esempio, "samplefile.txt".

Restituisce

Byte[]

Matrice Byte contenente il corpo della risposta dalla risorsa.

Eccezioni

Il parametro address è null.

-o-

Il parametro fileName è null.

L'URI formato dalla combinazione di BaseAddresse address non è valido.

-o-

fileName è null, è Empty, contiene caratteri non validi o non esiste.

-o-

Errore durante il caricamento del file.

-o-

Non è stata ricevuta alcuna risposta dal server che ospita la risorsa.

-o-

L'intestazione Content-type inizia con multipart.

Commenti

Cautela

WebRequest, HttpWebRequest, ServicePointe WebClient sono obsoleti e non è consigliabile usarli per nuovi sviluppi. Usare invece HttpClient.

Il metodo UploadFile invia un file locale a una risorsa. Questo metodo usa il comando STOR per caricare una risorsa FTP. Per una risorsa HTTP, viene usato il metodo POST.

Questo metodo blocca durante il caricamento del file. Per continuare l'esecuzione durante l'attesa della risposta del server, utilizzare uno dei metodi di UploadFileAsync.

Il metodo POST è definito da HTTP. Se la richiesta sottostante non usa HTTP e POST non viene riconosciuta dal server, le classi di protocollo sottostanti determinano cosa accade. In genere, viene generata una WebException con la proprietà Status impostata per indicare l'errore.

Se la proprietà BaseAddress non è una stringa vuota ("") e address non contiene un URI assoluto, address deve essere un URI relativo combinato con BaseAddress per formare l'URI assoluto dei dati richiesti. Se la proprietà QueryString non è una stringa vuota, viene aggiunta a address.

Nota

Questo membro restituisce informazioni di traccia quando si abilita la traccia di rete nell'applicazione. Per altre informazioni, vedere Traccia di rete in .NET Framework.

Si applica a

UploadFile(String, String, String)

Origine:
WebClient.cs
Origine:
WebClient.cs
Origine:
WebClient.cs

Carica il file locale specificato nella risorsa specificata usando il metodo specificato.

public:
 cli::array <System::Byte> ^ UploadFile(System::String ^ address, System::String ^ method, System::String ^ fileName);
public byte[] UploadFile (string address, string? method, string fileName);
public byte[] UploadFile (string address, string method, string fileName);
member this.UploadFile : string * string * string -> byte[]
Public Function UploadFile (address As String, method As String, fileName As String) As Byte()

Parametri

address
String

URI della risorsa da ricevere.

method
String

Metodo utilizzato per inviare il file alla risorsa. Se null, il valore predefinito è POST per http e STOR per ftp.

fileName
String

File da inviare alla risorsa.

Restituisce

Byte[]

Matrice Byte contenente il corpo della risposta dalla risorsa.

Eccezioni

Il parametro address è null.

-o-

Il parametro fileName è null.

L'URI formato dalla combinazione di BaseAddresse address non è valido.

-o-

fileName è null, è Empty, contiene caratteri non validi o non esiste.

-o-

Errore durante il caricamento del file.

-o-

Non è stata ricevuta alcuna risposta dal server che ospita la risorsa.

-o-

L'intestazione Content-type inizia con multipart.

Esempio

Nell'esempio di codice seguente il file specificato viene caricato nell'URI specificato usando UploadFile. Qualsiasi risposta restituita dal server viene visualizzata nella console.

Console::Write( "\nPlease enter the URL to post data to : " );
String^ uriString = Console::ReadLine();

// Create a new WebClient instance.
WebClient^ myWebClient = gcnew WebClient;
Console::WriteLine
    ("\nPlease enter the fully qualified path of the file to be uploaded to the URL" );
String^ fileName = Console::ReadLine();
Console::WriteLine( "Uploading {0} to {1} ...", fileName, uriString );

// Upload the file to the URL using the HTTP 1.0 POST.
array<Byte>^responseArray = myWebClient->UploadFile( uriString, "POST", fileName );

// Decode and display the response.
Console::WriteLine( "\nResponse Received::The contents of the file uploaded are: \n {0}", 
    System::Text::Encoding::ASCII->GetString( responseArray ));
Console.Write("\nPlease enter the URL to post data to : ");
String uriString = Console.ReadLine();

// Create a new WebClient instance.
WebClient myWebClient = new WebClient();

Console.WriteLine("\nPlease enter the fully qualified path of the file to be uploaded to the URL");
string fileName = Console.ReadLine();

Console.WriteLine("Uploading {0} to {1} ...",fileName,uriString);						
// Upload the file to the URL using the HTTP 1.0 POST.
byte[] responseArray = myWebClient.UploadFile(uriString,"POST",fileName);

// Decode and display the response.
Console.WriteLine("\nResponse Received. The contents of the file uploaded are:\n{0}",
    System.Text.Encoding.ASCII.GetString(responseArray));


Console.Write(ControlChars.Cr + "Please enter the URL to post data to : ")
Dim uriString As String = Console.ReadLine()

' Create a new WebClient instance.
Dim myWebClient As New WebClient()
Console.WriteLine(ControlChars.Cr & _
    "Please enter the fully qualified path of the file to be uploaded to the URL")

Dim fileName As String = Console.ReadLine()
Console.WriteLine("Uploading {0} to {1} ...", fileName, uriString)

' Upload the file to the Url using the HTTP 1.0 POST.
Dim responseArray As Byte() = myWebClient.UploadFile(uriString, "POST", fileName)

' Decode and display the response.
Console.WriteLine(ControlChars.Cr + "Response Received. The contents of the file uploaded are: " & _
    ControlChars.Cr & "{0}", System.Text.Encoding.ASCII.GetString(responseArray))

Nell'esempio di codice seguente viene illustrata una pagina di ASP.NET che può accettare file inviati ed è adatta per l'uso con il metodo UploadFile. La pagina deve risiedere in un server Web. L'indirizzo fornisce il valore per il parametro address del metodo UploadFile.

<%@ Import Namespace="System"%>
<%@ Import Namespace="System.IO"%>
<%@ Import Namespace="System.Net"%>
<%@ Import NameSpace="System.Web"%>

<Script language="C#" runat=server>
void Page_Load(object sender, EventArgs e) {
    
    foreach(string f in Request.Files.AllKeys) {
        HttpPostedFile file = Request.Files[f];
        file.SaveAs("c:\\inetpub\\test\\UploadedFiles\\" + file.FileName);
    }	
}

</Script>
<html>
<body>
<p> Upload complete.  </p>
</body>
</html>
<%@ Import Namespace="System"%>
<%@ Import Namespace="System.IO"%>
<%@ Import Namespace="System.Net"%>
<%@ Import NameSpace="System.Web"%>

<Script language="VB" runat=server>
    Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
        
        Dim f As String
        Dim file
        For Each f In Request.Files.AllKeys
            file = Request.Files(f)
            file.SaveAs("c:\inetpub\test\UploadedFiles\" & file.FileName)
        Next f
        
    End Sub

</Script>
<html>
<body>
<p> Upload complete. </p>
</body>
</html>

Commenti

Cautela

WebRequest, HttpWebRequest, ServicePointe WebClient sono obsoleti e non è consigliabile usarli per nuovi sviluppi. Usare invece HttpClient.

Quando address specifica una risorsa HTTP, il metodo UploadFile invia un file locale a una risorsa usando il metodo HTTP specificato nel parametro method e restituisce qualsiasi risposta dal server. Questo metodo blocca durante il caricamento del file. Per continuare l'esecuzione durante l'attesa della risposta del server, utilizzare uno dei metodi di UploadFileAsync.

Se il parametro method specifica un verbo non compreso dal server o dalla risorsa address, le classi di protocollo sottostanti determinano cosa accade. In genere, viene generata una WebException con la proprietà Status impostata per indicare l'errore.

Se la proprietà BaseAddress non è una stringa vuota ("") e address non contiene un URI assoluto, address deve essere un URI relativo combinato con BaseAddress per formare l'URI assoluto dei dati richiesti. Se la proprietà QueryString non è una stringa vuota, viene aggiunta a address.

Nota

Questo membro restituisce informazioni di traccia quando si abilita la traccia di rete nell'applicazione. Per altre informazioni, vedere Traccia di rete in .NET Framework.

Si applica a

UploadFile(Uri, String, String)

Origine:
WebClient.cs
Origine:
WebClient.cs
Origine:
WebClient.cs

Carica il file locale specificato nella risorsa specificata usando il metodo specificato.

public:
 cli::array <System::Byte> ^ UploadFile(Uri ^ address, System::String ^ method, System::String ^ fileName);
public byte[] UploadFile (Uri address, string? method, string fileName);
public byte[] UploadFile (Uri address, string method, string fileName);
member this.UploadFile : Uri * string * string -> byte[]
Public Function UploadFile (address As Uri, method As String, fileName As String) As Byte()

Parametri

address
Uri

URI della risorsa da ricevere.

method
String

Metodo utilizzato per inviare il file alla risorsa. Se null, il valore predefinito è POST per http e STOR per ftp.

fileName
String

File da inviare alla risorsa.

Restituisce

Byte[]

Matrice Byte contenente il corpo della risposta dalla risorsa.

Eccezioni

Il parametro address è null.

-o-

Il parametro fileName è null.

L'URI formato dalla combinazione di BaseAddresse address non è valido.

-o-

fileName è null, è Empty, contiene caratteri non validi o non esiste.

-o-

Errore durante il caricamento del file.

-o-

Non è stata ricevuta alcuna risposta dal server che ospita la risorsa.

-o-

L'intestazione Content-type inizia con multipart.

Commenti

Cautela

WebRequest, HttpWebRequest, ServicePointe WebClient sono obsoleti e non è consigliabile usarli per nuovi sviluppi. Usare invece HttpClient.

Quando address specifica una risorsa HTTP, il metodo UploadFile invia un file locale a una risorsa usando il metodo HTTP specificato nel parametro method e restituisce qualsiasi risposta dal server. Questo metodo blocca durante il caricamento del file. Per continuare l'esecuzione durante l'attesa della risposta del server, utilizzare uno dei metodi di UploadFileAsync.

Se il parametro method specifica un verbo non compreso dal server o dalla risorsa address, le classi di protocollo sottostanti determinano cosa accade. In genere, viene generata una WebException con la proprietà Status impostata per indicare l'errore.

Se la proprietà BaseAddress non è una stringa vuota ("") e address non contiene un URI assoluto, address deve essere un URI relativo combinato con BaseAddress per formare l'URI assoluto dei dati richiesti. Se la proprietà QueryString non è una stringa vuota, viene aggiunta a address.

Nota

Questo membro restituisce informazioni di traccia quando si abilita la traccia di rete nell'applicazione. Per altre informazioni, vedere Traccia di rete in .NET Framework.

Si applica a