ActiveXPowUpload 1.2.0.5
Troubleshooting |
![]() ![]() |
Here you can find the most often errors and problems that can occur while using ActiveXPowUpload. Some articles join in groups related to technology of file processing code at server side.
ASP (ASP.OLD) file processing script
ASP.NET file processing script
IIS7 (Windows Vista) ASP.NET file processing script
ActiveXPowUpload doesn't return HTTP error while upload as you see it in browser. You still may see server response html page, http status code and reason phrase in Server response dialog. To access Server response dialog select "Show server response" in the context menu in upload mode. Use can get the same data with ActiveXPowUpload API, see GetServerReply, GetServerStatusCode and GetServerStatusText methods. For testing use HTTP Sniffers, they provide more information to diagnose the problem. For instance, see HTTP Analyzer (15 days trial). HTTP Sniffer also can be helpfull to see how ActiveXPowUpload sends files (Request).
You can find most HTTP errors short descriptions at w3.org website.
Error 403
See solution here http://support.microsoft.com/kb/327659
Write Permissions to UploadedFiles\ folder
Error like "Access to the path "C:\Inetpub\wwwroot\Upload\UploadedFiles\myfile.jpg" is denied"
The directory where uploaded files will be saved on the web server must have Read, Write, and Delete NTFS permissions for the Anonymous or authenticated user (If Windows authentication used):
Right-click the file in Explorer, choose "Properties" and select the Security tab. Click "Add" to add the appropriate user or group. Highlight the needed account, and check the boxes for the desired access.
<section name="requestFiltering" overrideModeDefault="Deny" />
<section name="requestFiltering" overrideModeDefault="Allow" />
The most common cause of problems related to file uploads is PHP itself. The following php.ini settings effect file uploads:
file_uploads boolean
Name |
Default |
Changeable |
Changelog |
file_uploads |
"1" |
PHP_INI_SYSTEM |
PHP_INI_ALL in PHP <= 4.2.3. Available since PHP 4.0.3 |
This parameter has to be set to 1 to accept file uploads, value 0 is to not accept file uploads. Defaults to 1
post_max_size integer
Name |
Default |
Changeable |
Changelog |
post_max_size |
"8M" |
PHP_INI_PERDIR |
PHP_INI_SYSTEM in PHP <= 4.2.3. Available since PHP 4.0.3 |
This is the maximum size of a POST request that PHP will accept. The default for PHP 4.3.x is 8M. If the file(s) you are trying to upload have a single or combined size over this value, PHP will exit. This affects the total post data. For example, if this were set to 8M and you are uploading four 3M files, PHP would not accept the files. You could, however, upload the four 3M files individually without a problem from this setting.
To upload large files, this value must be larger than upload_max_filesize.
If memory limit is enabled by your configure script, memory_limit also affects file uploading. Generally speaking, memory_limit should be larger than post_max_size.
If the size of post data is greater than post_max_size, the $_POST and $_FILES superglobals are empty. This can be tracked in various ways, e.g. by passing the $_GET variable to the script processing the data, i.e. <form action="edit.php?processed=1">, and then checking if $_GET['processed'] is set.
memory_limit integer
Name |
Default |
Changeable |
Changelog |
memory_limit |
"128M" |
PHP_INI_ALL |
"8M" before PHP 5.2.0, "16M" in PHP 5.2.0 |
This sets the maximum amount of memory in bytes that a script is allowed to allocate. This helps prevent poorly written scripts for eating up all available memory on a server. Note that to have no memory limit, set this directive to -1.
upload_max_filesize integer
Name |
Default |
Changeable |
Changelog |
upload_max_filesize |
"2M" |
PHP_INI_PERDIR |
PHP_INI_ALL in PHP <= 4.2.3. |
This is the maximum size of an individual uploaded file. The default for PHP 4.3.x is 2M.
max_input_time integer
Name |
Default |
Changeable |
Changelog |
max_input_time |
"-1" |
PHP_INI_PERDIR |
Available since PHP 4.3.0. |
This is the maximum time PHP will accept input in seconds.
Name |
Default |
Changeable |
Changelog |
upload_tmp_dir |
NULL |
PHP_INI_SYSTEM |
|
The temporary directory used for storing files when doing file upload. Must be writable by whatever user PHP is running as. If not specified PHP will use the system's default.
Definition of PHP_INI_* constants
Constant |
Value |
Meaning |
PHP_INI_USER |
1 |
Entry can be set in user scripts or in Windows registry |
PHP_INI_PERDIR |
2 |
Entry can be set in php.ini, .htaccess or httpd.conf |
PHP_INI_SYSTEM |
4 |
Entry can be set in php.ini or httpd.conf |
PHP_INI_ALL |
7 |
Entry can be set anywhere |
If you do not have access to change php.ini and your website is running on apache, you may be able to include these settings in an .htaccess file. This is only possible if "AllowOverride Options" or "AllowOverride All" privileges have been set (by you, by your ISP, or by a system administrator) in httpd.conf.
If this is feasible, or if you want to try the solution on your own, create or edit a file named .htaccess (assuming you want a 6Mb max attachment size):
php_value post_max_size "7M"
php_value upload_max_filesize "6M"
php_value max_input_time "120"
Permissions
If it is a Window server nothing is required and by default window gives all permissions.
For Linux and Uinx you have to give write (Chmod) permission to both temp and destination directories to allow uploaded files to store.
If you have problems using the component, debug information can help us to identify your problem. You'll be told to collect debug information when it's really required. The following describes how to do it.
<script for="ActiveXPowUpload" event="OnLog(msg)" language="JavaScript"> events.value = events.value + "OnLog(" + msg + ")\n" </script>We assume here the component is named ActiveXPowUpload.
<TEXTAREA NAME="events" ROWS=10 COLS=100> </TEXTAREA>
After modification your web page will look like the following:
<HTML> <!--...--> <body> <!--...--> <OBJECT id="ActiveXPowUpload" CLASSID="CLSID:FB98CEED-9DE1-4517-B30C-CDA19C6D150B" <!--...--> > <!--...--> <param name="debug" value="10"> </OBJECT> <!--...--> <TEXTAREA NAME="events" ROWS=10 COLS=100> </TEXTAREA> <script for="ActiveXPowUpload" event="OnLog(msg)" language="JavaScript"> events.value = events.value + "OnLog(" + msg + ")\n" </script> <!--...--> </body> </HTML>