我有一个用HTML和JavaScript制作的页面,在这个页面中,我有一个表单,inputs
其中有几个是 a input file
,我通过Ajax和JS将它们发送到服务器。
在服务器端,我从 接收数据inputs
,但是当我收到数据类型错误时,我收到input file
了不正确的数据类型错误。
我的问题是:我必须在服务器端(ASP.net 和 C#)使用什么类型的数据才能正确接收文件。
这是我拥有的部分代码:
HTML
<form id='frm1'>
<input type='text' id='nombre'>
<input type='file' id='balance'>
</form>
javascript
fuction guardar(){
var nombre = $('#nombre').val();
var files = $("#balance").get(0).files;
PageMethods.Guardar(nombre,files[0],guardar_Callback, Failed_CallBack,context);
}
在服务器端,我有以下方法:
[WebMethod()]
public static int guardar(string nombre, tipoArchivo balance){
//lo que haga con la informacion
}
正如我告诉你的,除了接收文件的数据类型外,一切正常。
经过大量研究和提到的使用JavaScrip、PageMethods和WebMethod的要求,我必须说,由于技术本身及其工作方式的限制,不可能将文件上传到服务器。
为了执行此操作,有必要使用
UpdatePanel
服务器端控件,这是我最终所做的,正如@weimar 所指出的那样,并且此链接显示https://www.codeproject.com/Articles/16945/简单 AJAX 文件上传或者像@Lazarok在他的回答中显示的那样使用MVC https://stackoverflow.com/a/42734/24364
Index.cshtml 文件的正文
UpLoad.cshtml 文件正文
IndexController.cs 文件的正文