Как мы можем отправить FormData в веб-api с дополнительными параметрами? - PullRequest
0 голосов
/ 19 июня 2020

Я отправляю ввод файла в FormData в веб-API, как показано ниже. Метод api также ожидает один дополнительный параметр, но приведенный ниже код работает только без параметра в api. Как я могу отправить дополнительный параметр в api. Спасибо за любые предложения!

<div>
    <label for="add">Add Customer</label>
    <input type="file" onchange="AddCust(event)" />
</div>

function AddCust(event) 
{
    Add("testtype", event.target.files[0]);
}

function Add(type, file)
{
    var imageData = new FormData();

    imageData.append("myfile", file);

    $.ajax({
        url: _uri + '/party/Add', 
        type: 'POST',
        enctype: 'multipart/form-data',
        data: imageData,
        cache: false,
        contentType: false,
        processData: false,
        crossDomain: true,
        xhrFields: { withCredentials: true },
        success: function (data) {
            $("#log").append("Add - Success " + data.toString() + "</br>");
        },
        error: function (xhr, ajaxOptions, thrownError) {
            $("#log").append("Add - Error " + xhr.responseText + "</br>");
        }
});

Веб-API:

[HttpPost]
public async void Add(string customertype)
{
    var provider = new MultipartFormDataStreamProvider(HttpContext.Current.Server.MapPath("~/App_Data"));

    await Request.Content.ReadAsMultipartAsync(provider);
}

1 Ответ

0 голосов
/ 23 июня 2020

Выяснилось, что ниже не работает.

url: _uri + '/ party / Add / testtype'

Он должен быть указан в url

url: _uri + '/ party / Add? customertype =' + 'testtype'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...