Re: Download file..
Re: Download file..
- Subject: Re: Download file..
- From: Jonathan Rochkind <email@hidden>
- Date: Thu, 25 Mar 2004 11:45:49 -0600
You could create a WOComponent just for the purpose of delivering
your files---the WOComponent woudln't actually do anything in it's
.html or .wod, it would just be a placeholder to return a file. And
you'd put that appendToResponse in that WOComponent. I think that's
what steve was suggesting, basically.
But that's not the only way to do it. When you want to return a
document from an action method, I'd just create my own WOResponse and
set it up as steve suggests (inside the 'if (content != null)'
block). An action method doesn't have to return a WOComponent. It can
in fact return any WOActionResults object, and WOResponse does
implement WOActionResults.
--Jonathan
At 11:18 PM -0600 3/24/04, James Cicenia wrote:
Hello -
I am confused where to put this appendToResponse. It can't be on my
listing page as the appendToResponse will always be triggered.
There will be a list of documents and that WOComponent will create
the list, bind the item, etc.. so, where do I put the
appendToResponse?
-James
On Mar 24, 2004, at 12:56 PM, steve stout wrote:
You'll need to create a new WOComponent. Or just a class file that
extends from WOComponent.
Then override the appendToResponse and set the response content to
the data that you want to return. The tricky part is setting the
mime type correctly.
public void appendToResponse(WOResponse response, WOContext context) {
super.appendToResponse(response, context);
NSData content = yourDownloadableData();
if (content != null) {
response.setContent(content);
response.setHeader(new String("inline; filename=\"" +
"thefilename.ext" + "\""), new String("content-disposition"));
response.setHeader(Integer.toString(content.length()), new
String("content-length"));
response.setHeader(new String("CORRECTMIMETYPE;
name=\"" + "thefilename.ext" + "\""), new String("content-type"));
}
}
.steve
On Mar 24, 2004, at 9:37 AM, James Cicenia wrote:
Hello -
Well for better or for worse I have decided to save my documents in the
database.
I made two EOs for this.. one to list them and then one to hold the
actual BLOB.
I am using mySQL for this.
I have successfully uploaded the file into the database. I now have a
page that lists
the files. I then created a hyperlink to bind to my download method:
public NSData downloadableData() {
NSData downloadable = null;
try {
downloadable =
theDocumentItem.projectDocumentObject().documentObject();
} catch (NullPointerException npe) {
System.err.println("Error: " + npe);
}
return downloadable;
}
This however always gives me ClassCastException. Any thoughts?
Thanks,
James Cicenia
_______________________________________________
webobjects-dev mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/webobjects-dev
Do not post admin requests to the list. They will be ignored.
///---------------------------------------
steve stout
web coordinator
arizona student unions
52o.626.o1o9
http://www.union.arizona.edu
_______________________________________________
webobjects-dev mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/webobjects-dev
Do not post admin requests to the list. They will be ignored.
_______________________________________________
webobjects-dev mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/webobjects-dev
Do not post admin requests to the list. They will be ignored.
_______________________________________________
webobjects-dev mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/webobjects-dev
Do not post admin requests to the list. They will be ignored.