There are several things here...
First, witango doesn't handle file uploads, and it never has, IIS, or
Apache, or whatever webserver handles the uploads. So apache or IIS
receives the upload, and witango, is COMPLETELY unaware of it, until
the full file is received, and passed from the web server to witango.
This means, you cannot create a http upload solution in witango, that
limits file size. IMHO, this should not be overlooked, because any
http upload solution, should always reject the http upload if the
file size is too big. Every http upload from a browser, has content-
length in the header, so the webserver should reject based on this
value. This is not possible with witango, but it is possible with
ASP.NET, and PHP.
With .NET, we used Websupergoo, to provide a progress bar, of the
upload to the user, even for multiple files, and to restrict by file
size. Since .NET is tightly integrated with IIS, it is possible to
reject immediately based on file size, without accepting the whole
upload first. However, one draw back to .NET, is that when the file
was rejected, the user received a page cannot be displayed error, and
you had no control over this, so you had to tell the user ahead of
time, they would receive an error if they uploaded more than the
specified size. Another of the hurdles, was bridging .NET and
witango, we did this by accepting the upload in .net, and forwarding
xml to a witango form, and after dealing with many text encoding
issues, we got it done. You can view this solution in production at
one of our currently running contests:
http://www.halloweenphotocontest.com/
http://www.bestofweddingscontest.com/
Now, we have been porting all of our witango code over to PHP, and
this piece, was the toughest, but ended up being bettter than the
above solution. First, we wanted to eliminate paying the several
hundred $ license per server for web super goo, and we wanted all of
the above functionality. We found some PHP file upload progress
tools, most requiring a recompile of php, which we did not want to
do. We found a solution, using a couple of small perl cgis, that work
with php, that we were able to modify to work perfectly. So with a
combination of PHP 5, perl, and AJAX, we built a great http upload
solution with an ajax progress bar on the page, even with mult file
uploads, and it will reject files too big, based on content length,
and we can also give a good error page on reject for file size. This
solution does not use anything that you cannot install using YUM from
standard fedora 5 repositories, and also should be able to be ported
to OS X PHP5, but haven't done.
You may not have all of these requirements, but take heed on the max
file size issue. My recommendation, is to use websupergoo, cuz its
done, you just buy, and follow their examples. If you are at all
familiar with .NET, it is fairly simple.
The php solution is a completely custom solution we wrote, and is not
going to be made public. If you choose to do this for yourself, there
is a lot of help out there on php upload. But it gets more tricky
when you require progress bar, and file size checking based on
content-length.
We can develop this type of solution for you in PHP, but for that you
would have to contact me off list, and I can arrange a demo.
--
Robert Garcia
President - BigHead Technology
VP Application Development - eventpix.com
13653 West Park Dr
Magalia, Ca 95954
ph: 530.645.4040 x222 fax: 530.645.4040
[EMAIL PROTECTED] - [EMAIL PROTECTED]
http://bighead.net/ - http://eventpix.com/
On Oct 10, 2006, at 5:33 PM, [EMAIL PROTECTED] wrote:
I have a client with a file upload/download server setup 7 or 8
years ago. It's based on Mac OS 9.2, WebSTAR 4.5 with http uploads
using the WebSTAR File Upload plugin via a very simple webpage.
They use Tango 3.5 on the same server for Filemaker database searches
Having dragged them kicking & screaming into the new Milllenium
(with OS X 10.4.8) for everything else, I'd like to retire this
server - their last OS 9 box
They have an Xserve (G4, tray load, 1 GHz, 2 Gb RAM, single
processor) running OSXS 10.4.8 (Apache, MySQL, PHP as installed by
default). I'd like to work with what's there and provide an http
upload & download facility but there's no default file upload plugin
I've looked at many PHP plugins but I've not found anything exactly
suitable and I'm not qualified to say if these solutions are secure
or not. I know I can build /modify one in Witango pretty quickly.
The requirements are:
* an admin webpage to setup usernames & passwords for new accounts
* upload directories created automagically for new accounts
* users to be able to see & upload / download in their directory only
* maximum file size to be 200 Mb (largest files now are ~ 100 Mb)
* useage is light - maybe 2-20 files a day, max, from 2-10 users
The questions are:
* is Witango stable enough for uploading files of this size?
* is there an existing project I can modify? (I have upload.taf
from the Developers site)
* can this be done with Witango Lite?
* if Witango isn't suitable can anyone point me at a PHP alternative?
I've read all the posts in the June 2006 "Question: Upload doesn't
work in Safari" thread and paid heed to Robert Garcia's post. Thank
you, Robert
Many thanks
______________________________________________________________________
__
TO UNSUBSCRIBE: Go to http://www.witango.com/developer/maillist.taf
________________________________________________________________________
TO UNSUBSCRIBE: Go to http://www.witango.com/developer/maillist.taf