如何使用Ajax将文档上传到web api,而不使用html User Control或Form?

时间:2016-05-17 14:01:52

标签: javascript ajax asp.net-mvc html5 asp.net-web-api2

无论我有上传文档的UI,我都可以轻松地使用FormData api异步上传到web api。现在我有一个场景,我需要根据文件路径上传文档而不使用UI或用户输入,那么我该怎么做呢?

以下是用户在表单中上传文件时使用的代码。

    var formData = new FormData();
    var myFile = $('#myFile')[0];
    formData.append("myFile", myFile.files[0]);
    $.ajax({
        url: url,
        type: 'POST',
        data: formData,
        contentType: false,
        processData: false,
        success: function (data, textStatus, xhr) {
            console.log(data);
        },
        error: function (xhr, ajaxOptions, rtnError) {
            alert(xhr.responseText + rtnError);
        }
    });

1 个答案:

答案 0 :(得分:0)

一般情况下您无法使用浏览器内的JavaScript直接访问客户端文件系统(这是设计使然),因此您需要用户手动选择文件才能上传它

这个问题可能会进一步阐明在JavaScript中操作文件的限制因素:Local file access with javascript