1

首先,您必须原谅我在使用 Ajax 提交表单方面缺乏知识;因此,当我试图弄清楚我能做什么和不能做什么时,我可能会问一两个愚蠢的问题。

其次,我知道如何使用 jQuery 执行简单的 Ajax 请求,通常看起来很像这样:

$.ajax({
    url: "/SomeDir/SomePage.cshtml",
    async: true, //sometimes this is false, depending on how I want this to operate.
    type: "POST", //most of the time this is 'GET' but it depends on whether server-side changes will be taking place or sensitive data will be passed.
    dataType: "html", //This has the potential to change a lot.
    data: { someVar: someVarValue }, //any number of name/value pairs to send to the server with the request.
    success: function (response) {
        //success callback function code here.
    },
    error: function (jqXHR, textStatus, error) {
        //code to run if error occurs (usually displaying text showing the 'textStatus' and 'error' values.
    }
});

好的,现在我已经向您展示了我通常如何执行 Ajax 请求(只是标准的 jQuery 方式),您将知道我在这部分的位置。

现在我的目标是:

我有一个简单的,下面<input id="inFile" name="inFile" type="file" />是自制的<button>。单击按钮时,我需要的是让 Ajax 将该文件带到服务器,将其保存在指定目录中(我不需要该部分的说明),然后重新更新页面(我不需要帮助那部分)。

几乎,我需要知道的是如何在不刷新页面的情况下从客户端转到服务器端,文件完好无损(使用或不使用表单)。

我曾想过,也许我对 Ajax 缺乏足够的了解,type: "POST"以至于它可能固有地提供了我所要求的一些功能,而我什至不知道它。

我知道我可以使用$.ajax();函数的“数据”属性(它是否称为属性?)发送任何我想要的数据,但如果这是应该的方式,我不知道如何将文件保存到变量中/object/collection 用于发送$.ajax()函数。

抱歉,我对此缺乏了解,但我以前从未使用 Ajax 完成过这项特殊任务,而且我似乎也找不到任何相关信息。

简而言之:

我真正需要的只是将文件从客户端获取到服务器端,以便我可以使用 C# 保存它System.IO

4

1 回答 1

0

我会使用 HTML5 和纯 javascript 或 jquery 插件(有很多很好的跨浏览器用于下载可以调整的文件,你真的只需要在这里格式化它)为旧浏览器创建后备。然后使用 ajax 将数据发送到服务器脚本,您可以将发布的数据写入服务器端的文件。

现在不是我清醒的时候,所以请原谅我没有提供更多细节,如果您仍然遇到问题,请与我们联系。

注意:我没有使用网页的经验,但由于它使用 c#,我认为它类似于 MVC,所以一旦你使用 ajax 将数据发布到正确的脚本/函数,你应该没有问题将其写入文件,尽管语言.

于 2015-05-26T04:37:06.570 回答