Hi Ken,
If you open curl as a process, you can then read the status info one
line at a time. Would that work?
Here's one way (courtesy of Josh Mellicker, with some mods):
-- a button script --
local vCurlProcess
on mouseUp
put empty into fld "output"
put formattedForCurl(fld "filename") into tFiles
put ("curl -T" && tFiles && fld "server" && "-C -") into vCurlProcess
open process vCurlProcess for read
get the result
if it = empty
then send "getCurlReport" to me in 12 ticks
else answer it
end mouseUp
on getCurlReport
read from process vCurlProcess for 1 line
put it after fld "output"
if it = empty
then closeCurl
else send "getCurlReport" to me in 12 ticks
end getCurlReport
on closeCurl
close process vCurlProcess
answer "Done."
end closeCurl
function formattedForCurl pFileList
-- handle single file selection
if the number of lines in pFileList = 1 then return quote &
pFileList & quote
-- handle multi file selections
replace CR with "," in pFileList
put quote & "{" & pFileList & "}" & quote into tList
return tList
end formattedForCurl
There you have it!
Phil
On 3/4/10 10:28 AM, Ken Ray wrote:
I have some large files (100MB +) that I need to FTP to a customer's server.
I have tried to use libURL to do the uploading, but I get odd results/random
timeouts/errant status messages when the file I'm uploading is over 40MB.
I've tried many different workarounds to this, but none have been
consistent/acceptable so for this project I'm seeing if I can use curl.
The pain is that there doesn't seem to be a way to retrieve the progress of
an FTP upload so I can display a custom upload box. If I redirect it to
dev/null, I get control back after the upload starts, but I can't get any
progress data:
curl -T filePath -u user:pass serverAdress> /dev/null 2>&1&
If I redirect to stdin, it's blocking and I only get anything when the
upload is complete:
curl -T filePath -u user:pass serverAdress> stdin
I've also tried:
curl -T filePath -u user:pass serverAdress> stdin&
curl -T filePath -u user:pass serverAdress> stdin 2>&1&
Is there any way to make a non-blocking call to curl, but then to get back
the progress text that would normally be displayed in the Terminal?
Any help would be appreciated...
Ken Ray
Sons of Thunder Software, Inc.
Email: [email protected]
Web Site: http://www.sonsothunder.com/
_______________________________________________
use-revolution mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution
--
Phil Davis
PDS Labs
Professional Software Development
http://pdslabs.net
_______________________________________________
use-revolution mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution