作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在 ASP.NET MVC 应用程序中上传文件。在 .ascx 文件中,我有以下内容:
<form action="/Admin/Mail/ABC" enctype="multipart/form-data" method="post">
<div>
<input type="file" name="file" id="file" />
<input type="submit" value="Upload" id="UploadList" onclick="Origin.UploadOptOutList();"/>
</div>
在 .js 文件中:
Origin.UploadList = function () {
Origin.ajax({
url: '/Admin/Mail/Upload',
type: 'POST',
dataType: 'json',
success: function (data) {
alert('success!');
}
});
}
和 Controller :
[HttpPost]
public ActionResult Upload(HttpPostedFileBase file)
{
List<string> validIDs, invalidIDs;
if (file.ContentLength > 0)
{
// do something
}
}
从 .js 调用操作时,"file"始终为 NULL。知道我缺少什么吗?
最佳答案
首先,除非您使用 HTML5,否则您无法异步上传文件。如果您仍然需要此功能,您可能想尝试jQuery Form plugin .
其次,在您当前的js中,您没有随请求发送任何数据(ajax
方法选项中的字段data
),这就是您没有接收到的原因服务器端的任何内容。此外,正如我之前提到的,不可能在此请求中插入文件。这里最简单的解决方案就是放弃 AJAX,让文件以通常的方式上传:
查看:
<form action="/Admin/Mail/Upload" enctype="multipart/form-data" method="post">
<div>
<input type="file" name="file" id="file" />
<input type="submit" value="Upload" id="UploadList" />
</div>
</form>
这里没有js,服务器代码是一样的。
关于c# - 文件上传 - 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10047975/
我有以下正则表达式 /[a-zA-Z0-9_-]/ 当字符串只包含从 a 到z 大小写、数字、_ 和 -。 我的代码有什么问题? 能否请您向我提供一个简短的解释和有关如何修复它的代码示例? //var
我是一名优秀的程序员,十分优秀!