Hi, I've got a problem with checking file size on upload. There is not RadUpload object in arguments so line in checkUploadedFilesSize function with args.get_progressData().RadUpload.RequestSize generates error. I searched everywhere for solution, most info linked to
this site: http://www.telerik.com/help/aspnet-ajax/upload_howtoclientfilesize.html, but it doesn't help. I use 2009.2.701.35 version of library.
Here is my aspx markup:
here is my code behind code:
and to be sure here is my web.config (it's more or less template from telerik project template)
this site: http://www.telerik.com/help/aspnet-ajax/upload_howtoclientfilesize.html, but it doesn't help. I use 2009.2.701.35 version of library.
Here is my aspx markup:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="Default" %> |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
<html xmlns="http://www.w3.org/1999/xhtml"> |
<head runat="server"> |
<title></title> |
</head> |
<body> |
<form id="form1" runat="server"> |
<telerik:RadScriptManager ID="RadScriptManager1" runat="server"> |
<Scripts> |
<asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.Core.js" /> |
<asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQuery.js" /> |
</Scripts> |
</telerik:RadScriptManager> |
<div> |
<script type="text/javascript"> |
function checkUploadedFilesSize(progressArea, args) { |
//progressArea.confirmed is a custom variable, |
// you can use another if you want to |
if (!progressArea.confirmed && |
args.get_progressData().RadUpload.RequestSize > 1000000) { |
if (confirm("The total size of the selected files" + |
" is more than the limit." + |
" Do you want to cancel the upload?")) { |
progressArea.cancelRequest(); |
} |
else { |
progressArea.confirmed = "confirmed"; |
} |
} |
} |
</script> |
<telerik:RadUpload runat="server" ID="RadUpload1" /> |
<telerik:RadProgressArea runat="server" ID="RadProgressArea1" OnClientProgressUpdating="checkUploadedFilesSize" /> |
<telerik:RadProgressManager runat="server" ID="RadProgressManager1" /> |
<asp:Button runat="server" ID="Button1" Text="Upload" OnClick="buttonSubmit_Click" /> |
</div> |
</form> |
</body> |
</html> |
here is my code behind code:
using System; |
using Telerik.Web.UI; |
using Telerik.Web.UI.Upload; |
public partial class Default : System.Web.UI.Page |
{ |
protected void Page_Load(object sender, EventArgs e) |
{ |
if (!IsPostBack) |
{ |
//Do not display SelectedFilesCount progress indicator. |
RadProgressArea1.ProgressIndicators &= ~ProgressIndicators.SelectedFilesCount; |
} |
} |
protected void buttonSubmit_Click(object sender, System.EventArgs e) |
{ |
UploadedFile file = RadUpload1.UploadedFiles[0]; //UploadedFile.FromHttpPostedFile(Request.Files[inputFile.UniqueID]); |
if(!Object.Equals(file, null)) |
{ |
LooongMethodWhichUpdatesTheProgressContext(file); |
} |
} |
private void LooongMethodWhichUpdatesTheProgressContext(UploadedFile file) |
{ |
const int total = 100; |
RadProgressContext progress = RadProgressContext.Current; |
for (int i = 0; i < total; i++) |
{ |
progress.PrimaryTotal = 1; |
progress.PrimaryValue = 1; |
progress.PrimaryPercent = 100; |
progress.SecondaryTotal = total; |
progress.SecondaryValue = i; |
progress.SecondaryPercent = i; |
progress.CurrentOperationText = file.GetName() + " is being processed..."; |
if (!Response.IsClientConnected) |
{ |
//Cancel button was clicked or the browser was closed, so stop processing |
break; |
} |
//Stall the current thread for 0.1 seconds |
System.Threading.Thread.Sleep(100); |
} |
} |
} |
and to be sure here is my web.config (it's more or less template from telerik project template)
<?xml version="1.0"?> |
<configuration> |
<configSections> |
<sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> |
<sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> |
<section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/> |
<sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> |
<section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="Everywhere"/> |
<section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/> |
<section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/> |
<section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/> |
</sectionGroup> |
</sectionGroup> |
</sectionGroup> |
</configSections> |
<appSettings/> |
<connectionStrings/> |
<system.web> |
<compilation debug="true"> |
<assemblies> |
<add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> |
<add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> |
<add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> |
<add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> |
</assemblies> |
</compilation> |
<pages> |
<controls> |
<add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> |
<add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> |
<add tagPrefix="telerik" namespace="Telerik.Web.UI" assembly="Telerik.Web.UI"/> |
</controls> |
</pages> |
<authentication mode="Windows"/> |
<httpHandlers> |
<remove verb="*" path="*.asmx"/> |
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> |
<add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> |
<add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false"/> |
<add path="ChartImage.axd" type="Telerik.Web.UI.ChartHttpHandler" verb="*" validate="false"/> |
<add path="Telerik.Web.UI.SpellCheckHandler.axd" type="Telerik.Web.UI.SpellCheckHandler" verb="*" validate="false"/> |
<add path="Telerik.Web.UI.DialogHandler.aspx" type="Telerik.Web.UI.DialogHandler" verb="*" validate="false"/> |
<add path="Telerik.RadUploadProgressHandler.ashx" type="Telerik.Web.UI.RadUploadProgressHandler" verb="*" validate="false"/> |
<add path="Telerik.Web.UI.WebResource.axd" type="Telerik.Web.UI.WebResource" verb="*" validate="false"/> |
</httpHandlers> |
<httpModules> |
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> |
<add name="RadUploadModule" type="Telerik.Web.UI.RadUploadHttpModule"/> |
<add name="RadCompression" type="Telerik.Web.UI.RadCompression"/> |
</httpModules> |
<httpRuntime maxRequestLength="102400" executionTimeout="3600"/> |
</system.web> |
<system.codedom> |
<compilers> |
<compiler language="c#;cs;csharp" extension=".cs" warningLevel="4" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
<providerOption name="CompilerVersion" value="v3.5"/> |
<providerOption name="WarnAsError" value="false"/> |
</compiler> |
<compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" warningLevel="4" type="Microsoft.VisualBasic.VBCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
<providerOption name="CompilerVersion" value="v3.5"/> |
<providerOption name="OptionInfer" value="true"/> |
<providerOption name="WarnAsError" value="false"/> |
</compiler> |
</compilers> |
</system.codedom> |
<system.webServer> |
<validation validateIntegratedModeConfiguration="false"/> |
<modules> |
<remove name="ScriptModule"/> |
<add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> |
<add name="RadUploadModule" type="Telerik.Web.UI.RadUploadHttpModule"/> |
<add name="RadCompression" type="Telerik.Web.UI.RadCompression"/> |
</modules> |
<handlers> |
<remove name="WebServiceHandlerFactory-Integrated"/> |
<remove name="ScriptHandlerFactory"/> |
<remove name="ScriptHandlerFactoryAppServices"/> |
<remove name="ScriptResource"/> |
<add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> |
<add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> |
<add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> |
<add name="ChartImage_axd" path="ChartImage.axd" type="Telerik.Web.UI.ChartHttpHandler" verb="*" preCondition="integratedMode,runtimeVersionv2.0"/> |
<add name="Telerik_Web_UI_SpellCheckHandler_axd" path="Telerik.Web.UI.SpellCheckHandler.axd" type="Telerik.Web.UI.SpellCheckHandler" verb="*" preCondition="integratedMode,runtimeVersionv2.0"/> |
<add name="Telerik_Web_UI_DialogHandler_aspx" path="Telerik.Web.UI.DialogHandler.aspx" type="Telerik.Web.UI.DialogHandler" verb="*" preCondition="integratedMode,runtimeVersionv2.0"/> |
<add name="Telerik_RadUploadProgressHandler_ashx" path="Telerik.RadUploadProgressHandler.ashx" type="Telerik.Web.UI.RadUploadProgressHandler" verb="*" preCondition="integratedMode,runtimeVersionv2.0"/> |
<add name="Telerik_Web_UI_WebResource_axd" path="Telerik.Web.UI.WebResource.axd" type="Telerik.Web.UI.WebResource" verb="*" preCondition="integratedMode,runtimeVersionv2.0"/> |
</handlers> |
<security> |
<requestFiltering> |
<requestLimits maxAllowedContentLength="1024000000" /> |
</requestFiltering> |
</security> |
</system.webServer> |
<runtime> |
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> |
<dependentAssembly> |
<assemblyIdentity name="System.Web.Extensions" publicKeyToken="31bf3856ad364e35"/> |
<bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/> |
</dependentAssembly> |
<dependentAssembly> |
<assemblyIdentity name="System.Web.Extensions.Design" publicKeyToken="31bf3856ad364e35"/> |
<bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/> |
</dependentAssembly> |
</assemblyBinding> |
</runtime> |
</configuration> |