i have two problems.
First, progress bar doesnt work, file size info is always zero, and progress detail footer is always 0/0kb. However the files get uploaded just fine. i have looked at every single jquery igupload example you have and recreated all of them to successfully upload to my UploadHandler, but never get the progress info. (The handler sends the upload to my webservice and is not a local upload).
Second, My upload handler gets called twice and thus uploads the file twice. I have autoupload =false, and use multi upload. as soon as i select a file, the handler gets called with the file, then gets called again when i clik upload. (ive had progressurl populated and empty and get same results)
please let me know what code of mine i can provide to help trouble shoot. i have included my web config, and the upload control. all the client side jquery functions are exact replicas of your examples.
<system.webServer>
<handlers>
<add name="IGUploadStatusHandler" path="~/Handler/IGUploadStatusHandler.ashx"
verb="*" type=" Infragistics.Web.UI.EditorControls.UploadStatusHandler"
preCondition="integratedMode" />
</handlers>
</system.webServer>
<ig:WebUpload ID="WebUpload1" runat="server" Width="100%" Mode="Multiple" MaxSimultaneousFilesUploads="2"
UploadUrl="Handlers/IGUploadStatusHandler.ashx" ProgressUrl="Handlers/IGUploadStatusHandler.ashx">
<ClientEvents OnError="onError" FileSelected="fileSelected" CancelAllClicked="cancelAllClicked"
FileUploadAborted="fileUploadAborted" FileUploaded="fileUploaded" FileUploading="fileUploading" />
</ig:WebUpload>
Hello,
Thank you for posting in our forums
I see that you are using IIS7 for deploying the application
http://help.infragistics.com/NetAdvantage/ASPNET/2011.2?page=WebUpload_Overview.html
In my deveplopment environment I wasn't able to reproduce the behaviors(with the progress bar and the handler)
Here is the markup that I am using:
<head runat="server"> <title></title> <script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.4.js" type="text/javascript"></script> <script src="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.14/jquery-ui.js" type="text/javascript"></script> <script src="http://ajax.aspnetcdn.com/ajax/jquery.templates/beta1/jquery.tmpl.js" type="text/javascript"></script> <script src="ig_ui/js/min/ig.ui.upload.min.js" type="text/javascript"></script> <script src="ig_ui/js/ig.ui.js" type="text/javascript"></script> <link id="link1" href="ig_ui/themes/ig/jquery.ui.custom.min.css" rel="Stylesheet" type="text/css" /> <link id="link2" href="ig_ui/themes/base/ig.ui.min.css" rel="Stylesheet" type="text/css" /> <script type="text/javascript" id="igClientScript1"> <!-- function WebUpload1_FileUploading(eventArgs, infoObject) { //Add code to handle your event here. alert('Ready?'); } // --> </script> </head> <body> <form id="form1" runat="server"> <div> <ig:WebScriptManager ID="WebScriptManager1" runat="server"> </ig:WebScriptManager> <ig:WebUpload ID="WebUpload1" runat="server" AutoStartUpload="true" Mode="Multiple" MaxSimultaneousFilesUploads="2" ProgressUrl="~/IGUploadStatusHandler.ashx"> <ClientEvents FileUploading="WebUpload1_FileUploading" /> </ig:WebUpload> </div> </form> </body>
<title></title>
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.4.js" type="text/javascript"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.14/jquery-ui.js" type="text/javascript"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.templates/beta1/jquery.tmpl.js"
type="text/javascript"></script>
<script src="ig_ui/js/min/ig.ui.upload.min.js" type="text/javascript"></script>
<script src="ig_ui/js/ig.ui.js" type="text/javascript"></script>
<link id="link1" href="ig_ui/themes/ig/jquery.ui.custom.min.css" rel="Stylesheet"
type="text/css" />
<link id="link2" href="ig_ui/themes/base/ig.ui.min.css" rel="Stylesheet" type="text/css" />
<script type="text/javascript" id="igClientScript1">
<!--
function WebUpload1_FileUploading(eventArgs, infoObject) {
//Add code to handle your event here.
alert('Ready?');
}
// -->
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<ig:WebScriptManager ID="WebScriptManager1" runat="server">
</ig:WebScriptManager>
<ig:WebUpload ID="WebUpload1" runat="server" AutoStartUpload="true" Mode="Multiple"
MaxSimultaneousFilesUploads="2" ProgressUrl="~/IGUploadStatusHandler.ashx">
<ClientEvents FileUploading="WebUpload1_FileUploading" />
</div>
</form>
</body>
Can you please modify it in order to reproduce the issue or provide us with an isolated sample replicating the behavior?
Hope hearing from you.
Thanks for your reply.
I attached a single web project which mimics my production site. I just have an upload control and a generic handler. i got the code you posted working on my end as far as showing the filesize data on the control. So i then hooked up the Handler to it the same way i have it setup on my production control and the file size data then disapeared. it appears i am manually setting the UPLOADURL property and pointing it to the uploadhandler. this was the only way i could get the control to send off the files. So when i remove the UPLOADURL property, and select a file, i can see filedata, but can not upload.And the opposite is true: if i add the property, i can upload but cant see the filedata.
Am i misunderstanding the function of UPLOADURL vs PROGRESSURL?
the handler never gets called (For me) if i just have the progressurl.property set, but does get called if i set uploadurl.
(which leads into not understood (yet) how the progress bar , progressurl.property, and the upload handler all work together)
Followup :
ive been playing around more this afternoon and have noticed a few things i've misunderstood about using this control.
1) the uploadURL doesnt appear to be a property im suppose to be using
2) the reason progressurl was not calling the handler was b/c in my web config i did not have the full path to the handler. it was looking on the root when in fact i had it in a subfolder. once i corrected the path, and removed the uploadurl property, the handler was getting called by the progressurl. (cool) thats the first. (however i'm still not seeing filesize data). regardless, ive got a bigger problem...
3) everything i wrote in my handler is not out the window as i was checking for imcoming files in the context.request.files[] array from the uploadurl property. but now that progressurl is calling the handler properly, i feel like im back at square one with understanding how this control works.
'what am i looking when the handler is being called?' How do i manage the progress of the file upload? i dont fully comprhend how to use the UploadProgressManager class .
im beggining to isolate more
if the handler isnt specified, it uses the local upload folder at which point everything functions perfectly (See the attached project).
but when i specify the handler, i get no file stats to start, and im guessing that i have to manage the progress info and file size and whathever you manually to the control?
Hello Adam,
Thank you for the follow-up.
I am a little bit confused by your explanations.
Are you trying to use custom httphandler?
For this purpose please refer to the forum post below:
http://community.infragistics.com/forums/p/62476/316595.aspx
Handler should be always specified in web.config file
<httpHandlers> <add verb="GET" type="Infragistics.Web.UI.EditorControls.UploadStatusHandler" path="IGUploadStatusHandler.ashx"/ </httpHandlers>
<add verb="GET" type="Infragistics.Web.UI.EditorControls.UploadStatusHandler"
path="IGUploadStatusHandler.ashx"/
</httpHandlers>
It is registered automatically when adding the control to the form.
yes i am trying to use a custom httphandler. i've read that article before and its not very helpful as theres no example and nowhere explaning how to use UploadProgressManager in the httphandler.
using the control for local upload, i've got working. thanks. but i need more help with setting up the handler.
Thank you for the update.
Please let us know if you need further assistance.
ill take a look at the FileUploaderDesigner class today and get back to you. thanks
By Source code I meant that of the controls themselves.
For example inside FileUploaderDesigner class you can see how this handled is added.
IGUploadStatusHandler.ashx also is the default value of the ProgressUrl
You can see the implementation after downloading the source code of the controls.
Let me know if you need further assistance
what i dont understand is that in all your samples, you list this handler IGUploadStatusHandler.ashx file , but no where is it defined or shown handler code. i've looked at all of the sample code for the upload (we have a license and all the example code) but nothing directs me in actually implementing a handler with this control. i did discover the UploadPRogressManager.instance prior to your post, but im still not clear on how to 'fully' manage the control with a handler. i need some very specific handler code examples.
Thank you for the clarification.
Explanation of how to use UploadProgressManager in custome HttpHandler is not done in purpose.
This means sharing of how the igFileUpload is implemented.
You can see that by downloading our source code from our website
http://ko.infragistics.com/Product.aspx?id=18974#Downloads
For example you can get the filesize using CommandGetFileSize method
http://help.infragistics.com/Help/NetAdvantage/ASPNET/2011.2/CLR4.0/html/Infragistics4.Web.jQuery.v11.2~Infragistics.Web.UI.EditorControls.UploadProgressManager_members.html
UploadProgressManager upm = UploadProgressManager.Instance; upm.CommandGetFileSize(key);
upm.CommandGetFileSize(key);
Please let me know if you have further questions