ASP.NET 使用防伪令牌通过流式传输核心文件上传
ASP.NET Core file uplloading through streaming with anti forgery token
我正在使用 MultipartReader
通过流式传输上传文件,我想知道是否有一种方法可以通过代码验证防伪令牌。如果我将 ValidateAntiForgeryTokenAttribute
添加到方法中,那么它将使用表单的 body 并且我会得到一个错误:
Unexpected End Of Stream Exception
我可以在客户端使用 JS 来拦截表单的提交事件,但这是一个普通的 MVC 表单,它也使用 MVC 验证框架(我认为拦截表单的提交事件以传递令牌在 header 中不能很好地处理验证的表单提交拦截。
关于如何解决这个问题有什么想法吗?
谢谢。
我已经按照这个 sample 更新了客户端脚本,以便它在执行提交之前检查表单是否有效。总体而言,它比预期的要容易:
$("#docForm").on("submit",
(e) => {
const frm = $(e.target);
if (!frm.valid()) {
return false;
}
// more code
}
我正在使用 MultipartReader
通过流式传输上传文件,我想知道是否有一种方法可以通过代码验证防伪令牌。如果我将 ValidateAntiForgeryTokenAttribute
添加到方法中,那么它将使用表单的 body 并且我会得到一个错误:
Unexpected End Of Stream Exception
我可以在客户端使用 JS 来拦截表单的提交事件,但这是一个普通的 MVC 表单,它也使用 MVC 验证框架(我认为拦截表单的提交事件以传递令牌在 header 中不能很好地处理验证的表单提交拦截。
关于如何解决这个问题有什么想法吗?
谢谢。
我已经按照这个 sample 更新了客户端脚本,以便它在执行提交之前检查表单是否有效。总体而言,它比预期的要容易:
$("#docForm").on("submit",
(e) => {
const frm = $(e.target);
if (!frm.valid()) {
return false;
}
// more code
}