如何删除在 Ajax文件上传上出现无效格式的默认警报
How do I remove the default Alert that comes up with invalid format on AjaxFileUpload?
我有一个AjaxFileUpload控件,我已经使用jquery为错误的文件类型弹出错误。 但是,AjaxFileUpload显然有一个默认的,不太漂亮的警报,当添加不正确的文件类型时会出现。 这会导致显示默认警报,然后显示我的模式。 我无法删除 Allowed文件类型 属性,因为当我这样做时,无论如何都会添加不需要的文件。 有谁知道如何摆脱AjaxFileUpload抛出的默认警报?
<div class="upload-photos-add" id="Q0012_00" runat="server">
<asp:AjaxFileUpload EnableViewState="false" ID="AjaxFileUpload2"
ContextKeys="0012.00" runat="server" AllowedFileTypes="jpg,jpeg,png"
OnUploadComplete="AjaxFileUpload_UploadComplete"
OnClientUploadComplete="onClientUploadComplete"
OnClientUploadCompleteAll="onClientUploadCompleteAll"
OnClientUploadStart="onClientUploadStart">
</asp:AjaxFileUpload>
</div>
处理验证的函数:
function validateFileSize(input_event) {
//var valid_file = true;
var valid_format = true;
var valid_size = true;
var element_id = $(input_event).attr('id');
if(supports_html5_file_upload) {
var number_of_new_files = document.getElementById(element_id).files.length;
for (var i = 0; i < number_of_new_files; i++) {
var current_file = document.getElementById(element_id).files[i];
var file_name = current_file.name;
var file_path_array = file_name.split('.');
var file_ext = file_path_array[file_path_array.length - 1];
file_ext = file_ext.toLowerCase();
if(file_ext != 'jpg' && file_ext != 'jpeg' && file_ext != 'png') {
//valid_file = false;
valid_format = false;
}
if(ie7 || ie8 || ie9) {
var sizeinbytes = 100;
} else {
var sizeinbytes = current_file.size;
}
var fSizeMb = sizeinbytes / 1048576;
if(fSizeMb > 3) {
//valid_file = false;
valid_size = false;
}
}
} else {
var current_file = document.getElementById(element_id);
var file_name = current_file.value;
var file_path_array = file_name.split('.');
var file_ext = file_path_array[file_path_array.length - 1];
file_ext = file_ext.toLowerCase();
if(file_ext != 'jpg' && file_ext != 'jpeg' && file_ext != 'png') {
//valid_file = false;
valid_format = false;
}
if(fileApiSupported) {
//var sizeinbytes = current_file.size;
var sizeinbytes = document.getElementById(element_id).files[0].size;
} else {
var sizeinbytes = 100;
}
var fSizeMb = sizeinbytes / 1048576;
if(fSizeMb > 3) {
//valid_file = false;
valid_size = false;
}
}
if (!valid_size && !valid_format) {
$("#modal-file-size-format").modal('show');
document.getElementById(element_id).value = null;
}
else if (!valid_format) {
$("#modal-file-format").modal('show');
document.getElementById(element_id).value = null;
}
else if (!valid_size) {
$("#modal-file-size").modal('show');
document.getElementById(element_id).value = null;
}
else {
if(canvasSupported && fileApiSupported) {
thumbnail_preview.update(document.getElementById(element_id).files, input_event);
} else {
thumbnail_title_preview.update(document.getElementById(element_id).value, input_event);
}
}
}
此警报是 AjaxControlToolkit 中内置的功能。 为了摆脱它,我下载了 AjaxControlToolkit 源代码并将警报更改为控制台日志,然后我重新创建了 AjaxControlToolkit.dll并在我的项目中替换了它。
confirmFileIsInvalid: function (fileItem) {
/// <summary>
/// Send alert to user that file type is not acceptable. Processor uses
/// this method after validation.
/// </summary>
/// <param name="fileItem"></param>
var utils = new Sys.Extended.UI.AjaxFileUpload.Utils();
console.log(String.format(Sys.Extended.UI.Resources.AjaxFileUpload_WrongFileType,
utils.getFileName(fileItem.value), fileItem.type));
}
这是即将出现的警报:
<data name="AjaxFileUpload_WrongFileType" xml:space="preserve">
<value>
Can't add file '{0}' to upload list. File with type '{1}' is not allowed
</value>
</data>
相关文章:
- 错误:格式为整数的 javascript 键无效
- Webgl readPixels() 无效操作:格式/类型组合无效
- 如何在一个代码中检查无效的日期格式和超过18年的有效期
- Apache poi XSSF创建Excel文件-Create返回格式或文件扩展名无效的空文件
- 使用自定义格式momentJS时时间无效
- 格式无效 pki.私钥发件人..PKCS#8 with node-forge javascript.
- 三星S4上的错误“GetPTLAFormat:无效格式”
- 返回无效日期格式的本地存储
- j查询日期格式无效
- 如何将无效的对象格式转换为 JSON
- 无效的 XML 格式 - 如何避免这种情况
- <脚本> 注释格式无效
- 如何删除在 Ajax文件上传上出现无效格式的默认警报
- CRM Javascript检查无效的电子邮件格式,并只输入一封电子邮件
- 将无效javascript格式的日期转换为ics标准datetime字段
- 日期在ISO格式的Chrome中无效-测试日期:2012-11-31
- 避免无效路径格式错误在D3更新
- safari中日期[dd/mm/yyyy]无效?如何使用jquery实现日/月/年格式的显示
- 字符串格式的日期无效
- Model.reject()会在extjs格式中产生无效字段