使用Ajax将文件从html输入发送到WebApi - 编码问题

时间:2017-10-10 10:10:31

标签: javascript jquery ajax asp.net-web-api character-encoding

我有一个带有input的{​​{1}}标记和一个使用Ajax将文件发送到Webapi端点的函数。

type="file"

我的问题是发送到WebApi时法语字符没有正确编码。请参阅下面的请求正文摘录:

$('#myInput').change(function () {
    if (this.files[0] === undefined) return;
    sendToWebapi(this.files[0]);
    this.value = null;
});

function sendToWebapi(file) {
    const data = new FormData();
    data.append('file', file);
    $.ajax({
        url: "myWebApiPath",
        contentType: "text/csv",
        processData: false,
        method: "POST",
        data: data
    });
}

1 个答案:

答案 0 :(得分:0)

尝试明确设置charset:

function sendToWebapi(file) {
    const data = new FormData();
    data.append('file', file);
    $.ajax({
        url: "myWebApiPath",
        contentType: "text/csv;charset=ISO-8859-1",
        processData: false,
        method: "POST",
        data: data
    });
}