WebClient.UploadFile Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Передает локальный файл ресурсу с заданным URI.
Перегрузки
UploadFile(String, String) |
Передает заданный локальный файл ресурсу с заданным URI. |
UploadFile(Uri, String) |
Передает заданный локальный файл ресурсу с заданным URI. |
UploadFile(String, String, String) |
Выгружает указанный локальный файл на указанный ресурс с помощью указанного метода. |
UploadFile(Uri, String, String) |
Выгружает указанный локальный файл на указанный ресурс с помощью указанного метода. |
UploadFile(String, String)
- Исходный код:
- WebClient.cs
- Исходный код:
- WebClient.cs
- Исходный код:
- WebClient.cs
Передает заданный локальный файл ресурсу с заданным URI.
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()
Параметры
- address
- String
URI ресурса, которому передается файл. Например, ftp://localhost/samplefile.txt.
- fileName
- String
Файл, передаваемый ресурсу. Например, "samplefile.txt".
Возвращаемое значение
Массив значений типа Byte, содержащий основной текст ответа ресурса.
Исключения
Параметр address
имеет значение null
.
-или-
Параметр fileName
имеет значение null
.
URI, образованный объединением BaseAddress и address
, является недопустимым.
-или-
fileName
равно null
, равно Empty, содержит недопустимые символы или не существует.
-или-
Ошибка, произошедшая при выгрузке файла.
-или-
Сервер, на котором расположен ресурс, не отвечает.
-или-
Заголовок Content-type
начинается с multipart
.
Примеры
В следующем примере кода указанный файл отправляется в указанный универсальный код ресурса (URI) с помощью UploadFile. Любой ответ, возвращенный сервером, отображается в консоли.
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))
В следующем примере кода показана страница ASP.NET, которая может принимать опубликованные файлы и подходит для использования с методом UploadFile . Страница должна находиться на веб-сервере. Его адрес предоставляет значение для address
параметра 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>
Комментарии
Метод UploadFile отправляет локальный файл в ресурс. Этот метод использует команду STOR для отправки ресурса FTP. Для ресурса HTTP используется метод POST.
Этот метод блокирует при отправке файла. Чтобы продолжить выполнение во время ожидания ответа сервера, используйте один из UploadFileAsync методов .
Метод POST
определяется по протоколу HTTP. Если базовый запрос не использует HTTP и POST
не распознается сервером, базовые классы протоколов определяют, что происходит. Как правило, WebException возникает исключение с заданным свойством Status , указывающим на ошибку.
BaseAddress Если свойство не является пустой строкой ("") и address
не содержит абсолютный URI, то это должен быть относительный URI, address
который объединяется с BaseAddress для формирования абсолютного URI запрошенных данных.
QueryString Если свойство не является пустой строкой, оно добавляется к address
.
Примечание
Данный член генерирует сведения трассировки, если в приложении включена трассировка сети. Дополнительные сведения см. в статье Трассировка сети в .NET Framework.
Применяется к
UploadFile(Uri, String)
- Исходный код:
- WebClient.cs
- Исходный код:
- WebClient.cs
- Исходный код:
- WebClient.cs
Передает заданный локальный файл ресурсу с заданным URI.
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()
Параметры
- address
- Uri
URI ресурса, которому передается файл. Например, ftp://localhost/samplefile.txt.
- fileName
- String
Файл, передаваемый ресурсу. Например, "samplefile.txt".
Возвращаемое значение
Массив значений типа Byte, содержащий основной текст ответа ресурса.
Исключения
Параметр address
имеет значение null
.
-или-
Параметр fileName
имеет значение null
.
URI, образованный объединением BaseAddress и address
, является недопустимым.
-или-
fileName
равно null
, равно Empty, содержит недопустимые символы или не существует.
-или-
Ошибка, произошедшая при выгрузке файла.
-или-
Сервер, на котором расположен ресурс, не отвечает.
-или-
Заголовок Content-type
начинается с multipart
.
Комментарии
Метод UploadFile отправляет локальный файл в ресурс. Этот метод использует команду STOR для отправки ресурса FTP. Для ресурса HTTP используется метод POST.
Этот метод блокирует при отправке файла. Чтобы продолжить выполнение во время ожидания ответа сервера, используйте один из UploadFileAsync методов .
Метод POST
определяется по протоколу HTTP. Если базовый запрос не использует HTTP и POST
не распознается сервером, базовые классы протоколов определяют, что происходит. Как правило, WebException возникает исключение с заданным свойством Status , указывающим на ошибку.
BaseAddress Если свойство не является пустой строкой ("") и address
не содержит абсолютный URI, то это должен быть относительный URI, address
который объединяется с BaseAddress для формирования абсолютного URI запрошенных данных.
QueryString Если свойство не является пустой строкой, оно добавляется к address
.
Примечание
Данный член генерирует сведения трассировки, если в приложении включена трассировка сети. Дополнительные сведения см. в статье Трассировка сети в .NET Framework.
Применяется к
UploadFile(String, String, String)
- Исходный код:
- WebClient.cs
- Исходный код:
- WebClient.cs
- Исходный код:
- WebClient.cs
Выгружает указанный локальный файл на указанный ресурс с помощью указанного метода.
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()
Параметры
- address
- String
URI ресурса, которому передается файл.
- method
- String
Метод, используемый для передачи файла ресурсу. Если null
, для HTTP по умолчанию используется метод POST, а для FTP — STOR.
- fileName
- String
Файл, передаваемый ресурсу.
Возвращаемое значение
Массив значений типа Byte, содержащий основной текст ответа ресурса.
Исключения
Параметр address
имеет значение null
.
-или-
Параметр fileName
имеет значение null
.
URI, образованный объединением BaseAddress и address
, является недопустимым.
-или-
fileName
равно null
, равно Empty, содержит недопустимые символы или не существует.
-или-
Ошибка, произошедшая при выгрузке файла.
-или-
Сервер, на котором расположен ресурс, не отвечает.
-или-
Заголовок Content-type
начинается с multipart
.
Примеры
В следующем примере кода указанный файл отправляется в указанный универсальный код ресурса (URI) с помощью UploadFile. Любой ответ, возвращенный сервером, отображается в консоли.
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))
В следующем примере кода показана страница ASP.NET, которая может принимать опубликованные файлы и подходит для использования с методом UploadFile . Страница должна находиться на веб-сервере. Его адрес предоставляет значение для address
параметра 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>
Комментарии
Если address указывает ресурс HTTP, UploadFile метод отправляет локальный файл ресурсу с помощью метода HTTP, указанного в параметре method
, и возвращает любой ответ от сервера. Этот метод блокирует передачу файла. Чтобы продолжить выполнение в ожидании ответа сервера, используйте один из UploadFileAsync методов.
method
Если параметр задает команду, которая не распознается сервером или ресурсомaddress
, базовые классы протоколов определяют, что происходит. Как правило, возникает исключение со свойством , WebException заданным Status для указания ошибки.
BaseAddress Если свойство не является пустой строкой ("") и address
не содержит абсолютный URI, должен быть относительным URI, address
который объединяется с BaseAddress для формирования абсолютного URI запрошенных данных.
QueryString Если свойство не является пустой строкой, оно добавляется к address
.
Примечание
Данный член генерирует сведения трассировки, если в приложении включена трассировка сети. Дополнительные сведения см. в статье Трассировка сети в .NET Framework.
Применяется к
UploadFile(Uri, String, String)
- Исходный код:
- WebClient.cs
- Исходный код:
- WebClient.cs
- Исходный код:
- WebClient.cs
Выгружает указанный локальный файл на указанный ресурс с помощью указанного метода.
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()
Параметры
- address
- Uri
URI ресурса, которому передается файл.
- method
- String
Метод, используемый для передачи файла ресурсу. Если null
, для HTTP по умолчанию используется метод POST, а для FTP — STOR.
- fileName
- String
Файл, передаваемый ресурсу.
Возвращаемое значение
Массив значений типа Byte, содержащий основной текст ответа ресурса.
Исключения
Параметр address
имеет значение null
.
-или-
Параметр fileName
имеет значение null
.
URI, образованный объединением BaseAddress и address
, является недопустимым.
-или-
fileName
равно null
, равно Empty, содержит недопустимые символы или не существует.
-или-
Ошибка, произошедшая при выгрузке файла.
-или-
Сервер, на котором расположен ресурс, не отвечает.
-или-
Заголовок Content-type
начинается с multipart
.
Комментарии
Если address указывает ресурс HTTP, UploadFile метод отправляет локальный файл ресурсу с помощью метода HTTP, указанного в параметре method
, и возвращает любой ответ от сервера. Этот метод блокирует передачу файла. Чтобы продолжить выполнение в ожидании ответа сервера, используйте один из UploadFileAsync методов.
method
Если параметр задает команду, которая не распознается сервером или ресурсомaddress
, базовые классы протоколов определяют, что происходит. Как правило, возникает исключение со свойством , WebException заданным Status для указания ошибки.
BaseAddress Если свойство не является пустой строкой ("") и address
не содержит абсолютный URI, должен быть относительным URI, address
который объединяется с BaseAddress для формирования абсолютного URI запрошенных данных.
QueryString Если свойство не является пустой строкой, оно добавляется к address
.
Примечание
Данный член генерирует сведения трассировки, если в приложении включена трассировка сети. Дополнительные сведения см. в статье Трассировка сети в .NET Framework.
Применяется к
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по