我正在使用最新的AjaxControl ToolKit中的新AsyncFileUpload控件。我的问题是关于在开始上传之前触发的OnClientUploadStarted事件。有没有办法取消上传,因为我正在检查fileExtension,我想取消上传,这样它就不会继续上传文件了。我的最终结果是只允许上传图片。请多多指教,感谢您的宝贵时间。
发布于 2009-10-14 18:00:11
我得到了答案,我所要做的就是用这个脚本覆盖javascript函数(不是最好的答案,但很有效),你们都可以做得更快更干净
var orig = AjaxControlToolkit.AsyncFileUpload.prototype.raiseUploadStarted;
AjaxControlToolkit.AsyncFileUpload.prototype.raiseUploadStarted = function(e) {
var evt = this.get_events()._getEvent('uploadStarted');
if (evt) {
if (evt.length > 1)
return orig(e);
else if (evt.length === 1)
return evt[0](this, e);
}
}发布于 2009-10-13 13:30:24
您可以尝试向该字段添加"Regular Expression Validator“,并查看是否可以在上载开始之前使用它来验证选定的文件。
发布于 2011-06-21 00:51:55
尝试以下代码:
protected void AsyncFileUpload1_UploadedComplete(object sender, AjaxControlToolkit.AsyncFileUploadEventArgs e)
{
if (rdoFileType.SelectedValue == String.Empty)
{
lblStatus.Text = "Please select a file type before selecting a file.";
AsyncFileUpload1.FailedValidation = true;
e.state = AjaxControlToolkit.AsyncFileUploadState.Failed;
return;
}
try
{
// System.Threading.Thread.Sleep(5000);
if (AsyncFileUpload1.HasFile)
{
string _filename = System.IO.Path.GetFileName(e.filename);
System.IO.FileInfo f = new System.IO.FileInfo(AsyncFileUpload1.PostedFile.FileName);
if (rdoFileType.SelectedValue == "F")
{
if (f.Extension != ".pdf")
{
lblStatus.Text = "Final Document must be a .pdf";
e.state = AjaxControlToolkit.AsyncFileUploadState.Failed;
e.statusMessage = "Final Document must be a .pdf";
throw new Exception("Final Document must be a .pdf");
}https://stackoverflow.com/questions/1560118
复制相似问题