我们有一个带有AjaxFileUpload扩展程序的aspx页面,用于将一些图像文件异步上传到服务器。
<asp:AjaxFileUpload ID="AjaxFileUpload1" runat="server"
OnUploadComplete="UploadComplete"
OnClientUploadComplete="UploadCompleteClient" /
>
我们必须将上传文件的文件大小限制在一定范围内。为此,我们目前在服务器端使用以下代码作为
protected void UploadComplete(object sender, AjaxControlToolkit.AjaxFileUploadEventArgs e)
{
if (e.FileSize <= fileSizeLimit)
{
AjaxFileUpload1.SaveAs(filePath);
}
}
在客户端作为
function UploadCompleteClient(sender, args) {
if (parseInt(args._fileSize) > fileSizeLimit) {
alert("file exceeds file size limit");
}
现在,当文件超过"fileSizeLimit"时,不会在服务器上保存文件。客户端警报向用户显示超出了文件大小。但现在的问题是AjaxFileUpload扩展程序状态消息显示所有文件都已成功上载。
我们是否可以显示警报错误消息并显示正确的AjaxFileUpload扩展器状态消息
提前感谢
您可以在客户端使用UploadCompleteClient
来检查是否超过了文件大小,然后显示错误消息。以下是对此的js
。
<script type="text/javascript">
function UploadCompleteClient(sender, args) {
var filesize = args.get_fileSize();
var fileId = args.get_fileId();
var status = document.getElementById('AjaxFileUpload1_FileItemStatus_' + fileId);
if (parseInt(filesize) > fileSizeLimit) {
alert("file exceeds file size limit");
if (status.innerText) {
status.innerText = " file exceeds file size limit ";
}
if (status.textContent) {
status.textContent = " file exceeds file size limit ";
}
}
}
</script>