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>
Комментарии
Если адрес указывает ресурс 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
.
Комментарии
Если адрес указывает ресурс 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 как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по