В моем текущем проекте мое клиентское приложение сначала общается с сервером, и сервер вернул URL загрузки, чтобы я мог загрузить файл, URL выглядит так:
http://www.example.com/folder/filename.cab
* 1005Затем я хочу использовать метод HTTP PUT для загрузки локального файла «c: \ temp \ result.cab» в вышеприведенную локацию.Как я мог это сделать?
А кто-нибудь может дать мне подробное описание всего механизма загрузки? Когда я использую элемент управления загрузкой ASP.NET, я просто нажимаю кнопку обзора, чтобы найти свой файл, и нажимаю кнопку Отправить,а на стороне сервера я просто вызываю SaveAs()
метод управления загрузкой.Вот некоторый код:
protected void UploadButton_Click(object sender, EventArgs e)
{
if(FileUploadControl.HasFile)
{
try
{
string filename = Path.GetFileName(FileUploadControl.FileName);
FileUploadControl.SaveAs(Server.MapPath("~/") + filename);
StatusLabel.Text = "Upload status: File uploaded!";
}
catch (Exception ex)
{
StatusLabel.Text = "Upload status: The file could not be uploaded. The following error occured: " + ex.Message;
}
}
}
Некоторые вопросы:
Кто отвечает за чтение и отправку файла?
Что происходит, когда я вызываю FileUploadControl.SaveAs()
метод?Сервер извлекает файл из клиента, или клиент отправляет файл на сервер?
Я знаю, что HTTP основан на тексте, но мой файл result.cab не текстовый, поэтомуКодировка Base64 перед отправкой?
Большое спасибо.
Обновление:
Как работает метод HTTP PUT?Это на стороне клиента или на стороне сервера?Или взаимодействие обоих как какое-то рукопожатие?