Может ли кто-нибудь помочь с моим запросом. Я хочу иметь возможность разрешать загрузку определенных файлов только на сервер с помощью инструмента AjaxFileUpload. Существует проверка на стороне сервера, но я хочу проверить типы файлов на клиенте.Разрешенные типы файлов для загрузки файла Ajax
Я использовал метод AllowedFileTypes инструмента загрузки так:
<asp:AjaxFileUpload ID="AjaxFileUpload1" runat="server" OnUploadComplete="OnUploadComplete" ThrobberID="Throbber" ClientIDMode="AutoID" AllowedFileTypes="jpg,pdf,docx" />
Однако это только позволяет PDF-файлы, которые будут загружены. Он не позволит jpg или docx. Есть ли причина, почему или ошибка в инструменте AjaxFileUpload, о котором все знают.
Есть ли другой способ сделать это? Я использовал следующий JavaScript для проверки типов файлов:
var validFilesTypes = ["docx", "jpg", "pdf"];
function ValidateFile()
{
var file = document.getElementById("<%=AjaxFileUpload1.ClientID%>");
var label = document.getElementById("<%=lblStatus.ClientID%>");
var path = file.valueOf;
var ext=path.substring(path.lastIndexOf(".")+1,path.length).toLowerCase();
var isValidFile = false;
for (var i=0; i<validFilesTypes.length; i++)
{
if (ext==validFilesTypes[i])
{
isValidFile=true;
break;
}
}
if (!isValidFile)
{
label.style.color="red";
label.innerHTML="Invalid File. Please upload a File with" +
" extension:\n\n"+validFilesTypes.join(", ");
}
return isValidFile;
}
и изменил AjaxFileUpload соответственно, но это не работает:
<asp:AjaxFileUpload ID="AjaxFileUpload1" runat="server" OnUploadComplete="OnUploadComplete" OnClientUploadComplete="ValidateFile" ThrobberID="Throbber" ClientIDMode="AutoID" />
Любая помощь будет принята с благодарностью ,
Если кто-то попадается подобной проблеме это была проблема с AjaxControlToolkit и просто необходимо установить новую версию. – user2560913