gpt4 book ai didi

c# - 文件上传html5 asp.net web方法

转载 作者:太空宇宙 更新时间:2023-11-04 13:20:10 26 4
gpt4 key购买 nike

我正在尝试使用 type="file"的 html5 输入控件将文件上传到服务器。客户端javascript代码如下。

var fd = new FormData();
fd.append("fileToUpload", document.getElementById('fileToUpload').files[0]);
var xhr = new XMLHttpRequest();
xhr.upload.addEventListener("progress", uploadProgress, false);
xhr.addEventListener("load", uploadComplete, false);
xhr.addEventListener("error", uploadFailed, false);
xhr.addEventListener("abort", uploadCanceled, false);

xhr.open("POST", "Default.aspx", true);
xhr.send(fd);

在这里

xhr.open("POST", "Default.aspx/Test", true);

如果我提供一个网络方法(“测试”),控件不会访问服务器,就好像我删除了网络方法并提供普通的

xhr.open("POST", "Default.aspx", true);

控件正在调用 page_load 方法。

我缺少什么才能使 web 方法不受攻击。

问候,拉克什

最佳答案

What am I missing so that the web method is not getting hit.

首先,您的 Default.aspx.cs 页面上必须有一个静态方法

public static void Test()

装饰有 WebMethod 属性。

using System.Web.services;

[WebMethod]
public static void Test()

通过这种方式,web 方法被命中,但我不确定该方法应该有什么样的参数,或者您是否可以使用 HttpContext.Current.Request.Files 访问发布的文件p>

你可以看这个例子:

http://www.codeproject.com/Questions/374136/Call-Page-Method-From-Jquery-Ajax-Call

关于c# - 文件上传html5 asp.net web方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18764514/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com