Я использовал этот код:
Protected Sub AsyncFileUpload1_UploadedComplete(ByVal sender As Object, ByVal e As AjaxControlToolkit.AsyncFileUploadEventArgs) Handles AsyncFileUpload1.UploadedComplete
Try
Dim UploadFolderPath As String = "~/Site/Files/"
Dim fileext As String = System.IO.Path.GetExtension(AsyncFileUpload1.FileName)
Dim file_id As String = Guid.NewGuid().ToString()
AsyncFileUpload1.SaveAs(Server.MapPath(UploadFolderPath) + file_id + fileext)
Catch ex As Exception
Throw ex
End Try
End Sub
если я сохраню настоящее имя файла, используя приведенный ниже код, он будет работать без двойного сообщения:
Dim savePath As String = MapPath("Files/" & Path.GetFileName(e.FileName))
AsyncFileUpload1.SaveAs(Server.MapPath(savePath) )
вот исходник страницы:
<script type="text/javascript">
function clearContents() {
var span = $get("<%=AsyncFileUpload1.ClientID%>");
var txts = span.getElementsByTagName("input");
for (var i = 0; i < txts.length; i++) {
if (txts[i].type == "text") {
txts[i].value = "";
}
if (txts[i].type == "file") {
txts[i].value = "";
}
}
}
function uploadStarted(sender, args) {
if (args.get_length() > 1048576) {
$get("<%=AsyncFileUpload1.ClientID%>").style.display = 'block';
$get("dvFileErrorInfo").style.display = 'block';
$get("dvFileInfo").style.display = 'none';
$get("<%=lblError.ClientID%>").innerHTML = "حجم الملف تجاوز الحد المسموح به 2 ميجابايت "
} else {
$get("<%=AsyncFileUpload1.ClientID%>").style.display = 'none';
$get("dvFileErrorInfo").style.display = 'none';
$get("dvFileInfo").style.display = 'none';
}
}
function uploadError(sender, args) {
try {
$get("<%=AsyncFileUpload1.ClientID%>").style.display = 'block';
$get("dvFileErrorInfo").style.display = 'block';
$get("dvFileInfo").style.display = 'none';
$get("<%=lblError.ClientID%>").innerHTML = "لم يتم رفع الملف : " + args.get_errorMessage();
}
catch (e) {
}
}
function uploadComplete(sender, args) {
try {
$get("<%=AsyncFileUpload1.ClientID%>").style.display = 'block';
var filename = args.get_fileName();
var ext = filename.substring(filename.lastIndexOf(".") + 1);
document.getElementById('<%= FileExt.ClientID %>').value = ext;
if (ext != 'zip' && ext != 'rar' && ext != 'doc' && ext != 'docx' && ext != 'pdf' && ext != 'RAR') {
document.getElementById("errmsg").innerHTML = ext;
$get("dvFileErrorInfo").style.display = 'block';
$get("<%=lblError.ClientID%>").innerHTML = "صيغة الملف ليست مدعومة، يسمح لك فقط برفع الملفات التالية: مستند مايكروسوفت وود - وثيقة أكروبات - ملف مضغوط";
$get("dvFileInfo").style.display = 'none';
return;
}
$get("dvFileInfo").style.display = 'block';
$get("dvFileErrorInfo").style.display = 'none';
$get("<%=lblSuccess.ClientID%>").innerHTML = "تم رفع الملف بنجاح";
$get("<%=lblFileNameDisplay.ClientID%>").innerHTML = args.get_fileName();
$get("<%=lblFileSizeDisplay.ClientID%>").innerHTML = args.get_length() /1024 + " كيلو بايت";
$get("<%=lblContentTypeDisplay.ClientID%>").innerHTML = args.get_contentType();
}
catch (e) {
//alert(e.message);
}
}
</script>
управление асинфилезагрузкой:
<cc1:AsyncFileUpload runat="server" ThrobberID="Throbber"
OnUploadedComplete="AsyncFileUpload1_UploadedComplete"
OnClientUploadComplete="uploadComplete" OnClientUploadStarted="uploadStarted"
ID="AsyncFileUpload1" Width="400px"
CompleteBackColor = ""
ClientIDMode="AutoID"
UploadingBackColor=""
CssClass="btn btn-warning" ErrorBackColor=""
/>
скрытый файл должен захватить расширение файла,
#