ActiveXPowUpload 1.2.0.5
Known bugs and limitations |
![]() ![]() |
Internet Explorer 7 on Windows Vista introduces a new security feature named Protected Mode. ActiveXPowUpload is not IE Protected Mode-compatible, it does not function properly in IE Protected Mode. IE Protected Mode significantly reduces ActiveXPowUpload privileges which makes it unable to access file system in a normal way. For example, files downloaded by ActiveXPowUpload into the folder "C:\Users\%username%\Desktop\test" will be found in the "C:\Users\%username%\AppData\Local\Microsoft\Windows\Temporary Internet Files\Virtualized\C\Users\%username%\Desktop\test" folder.
Disable IE Protected Mode.
IE Protected Mode can be disabled on a per-zone bases. You can lessen the security risk resulted from disabled Protected Mode by moving all site on which ActiveXPowUpload will be used into the Trusted sites zone and disabling Protected Mode for that zone only.
When using Integrated Windows Authentication, it appears that ActiveXPowUpload sends files twice. If you watch the progress bar, you'll see that the overall progress indicator grows from 0% to 100% quickly, then jumps back to 0% and grows slowly to 100%. OnUploadFileBegin and OnUploadFileCompleted events are generated twice for each file.
In fact, ActiveXPowUpload sends files only once, but read them twice.
The Integrated Windows Authentication scheme provides for a number of auxiliary request be send before the data will be transfered. Normally, that is only one empty post request that contains all the same headers as the main post request, but it has no body and content-length header is 0. You can see all requests send by ActiveXPowUpload in a network sniffer software. Normally, auxiliary requests cannot be seen by your web application, IIS handles them.
The fact that ActiveXPowUpload shows upload progress twice is misleading, but that does not influence on correct upload process.
Cannot be fixed.
That is not exactly true. The control sends auxiliary HEAD requests to the destination URL in order to test that specified resource exists and handle authentication data. Your web application may see that HEAD request, normally, only one.
In an ASP.NET application you may inspect the value of the Request.HttpMethod property in order to distinguish between the main and the HEAD requests. If Request.HttpMethod is "HEAD", that is an auxiliary request, if Request.HttpMethod is "POST", that is the main request.
ActiveXPowUpload sends empty POST request as a part of authentication process when Integrated Windows Authentication is used. Those requests should not be seen by you web application.
By design, not a bug.
ActiveXPowUpload may crash the browser if you reload a web page while upload or download is running. The control first shows an error message explaining the error and how to avoid it, then kills the browser. In fact, this error only happens if you start upload or download through context menu of the control. You are normally safe to reload the page if you start the action with jscript. Unfortunately flawless operation cannot be guaranteed in any case, so you had better avoid reloading the page while upload or download is running.
Do not reload the web page while upload or download is running.
Normally ActiveXPowUpload requests an instance of the browser that hosts the control at the beginning of the initialization process. In other words, the control gets a reference to the instance of the browser that displays the page including the current instance of ActiveX. The browser reference is used to perform a number of functions.
First, the control extract the URL of the page it is loaded on. That URL serves as base URL to resolve various URL specified in control's parameters. For example, relative URLs may be used in the following properties: RedirectURL, UploadBackImageURL, UploadURL, relative URLs may uses to specify files meant for download, see AddDownloadFile method.
Second, the browser instance is used to redirect upload result after upload completes.
Under particular circumstances the control is not able to get a reference to the browser object. As result some functions of the control become unavailable, notably relative URLs are not supported and upload results cannot be redirected.
One known case when these limitations take effect is when the web page is displayed in modal dialog. To open a page as modal dialog you should execute the following code:
<script language="jscript"> window.showModalDialog("page-url"); </script>
Specify absolute URLs in all properties.
There is no workaround for redirecting upload results. This function will be available under the specified circumstances.