Загрузить файл, используя глагол PUT в ASP.Net Web Api 2

Я хотел бы раскрыть действие ASP.Net Web Api 2 с использованием глагола HTTP PUT для загрузки файлов. Это согласуется с нашей моделью REST, поскольку API представляет удаленную файловую систему (аналогичную WebDAV, но действительно упрощенную), поэтому клиент выбирает имена ресурсов (таким образом, PUT идеален, а POST не логичен).

Документация по Web Api описываеткак загружать файлы используя формы multipart / form-data, но не описывает, как это сделать, используя методы PUT.

Что бы вы использовали для тестирования такого API (составные формы HTML не допускают глаголы PUT)? Будет ли реализация сервера похожа на многочастную реализацию, описанную вдокументация веб-API (с использованиемMultipartStreamProvider) или это должно выглядеть так:

[HttpPut]
public async Task<HttpResponseMessage> PutFile(string resourcePath)
{
    Stream fileContent = await this.Request.Content.ReadAsStreamAsync();
    bool isNew = await this._storageManager.UploadFile(resourcePath, fileContent);
    if (isNew)
    {
        return this.Request.CreateResponse(HttpStatusCode.Created);
    }
    else
    {
        return this.Request.CreateResponse(HttpStatusCode.OK);
    }
}

Ответы на вопрос(1)

Ваш ответ на вопрос