[英]Can I pass regular expression pattern into url to send to server to process?
我的情况是:我有两个IIS站点:A(文件上传,使用ASP.NET MVC),B(普通网站,使用ASP.NET)。 B调用A(在iframe中,将一些参数(包括acceptFileType传递给URL)传递给A)以过滤文件上传。
在B上:我通过http://www.urlofA.com/Home/Upload?acceptFileTypes= “ image / *,application / pdf”
在A上:在控制器中:
public ActionResult Upload(string path, string acceptFileTypes = "*/*", bool dialog = true)
{
ViewBag.AcceptFileTypes = acceptFileTypes;
return View();
}
在Upload.chtml中:
<input type="file" accept=@ViewBag.AcceptFileType"/>
当我单击“确定”按钮时,我确认文件有效以确保仅必须上传接受的类型,因为用户可以在对话框中选择文件并获取其他文件来更改视图文件。 我用正则表达式检查它。
this.acceptType.test(file.type) && this.acceptType.test(file.name)
我在A上定义的正则表达式:
$('#file').fileUpload{
acceptType: /(\.|\/)(pdf|gif|jpe?g|png|bmp)$/i
}
目前,我只是通过acceptFileType在UI中进行处理,我无法通过acceptType在js中进行验证。
我尝试将acceptType传递到url中,但出现“未捕获的TypeError:未定义不是函数”
使用此代码来验证您的文件
var ext = $('#my_file_field')。val()。split('。')。pop()。toLowerCase();
if($。inArray(ext,['gif','png','jpg','jpeg'])== -1){
alert('invalid extension!');
}
正如@AntP所说,它将在我的应用程序中具有很大的安全间隔。 我将稍微改变我的业务逻辑,将某些事情从业务转移到站点。 我将以此为答案。 感谢AntP
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.