Re: saving pdf's to the database
Re: saving pdf's to the database
- Subject: Re: saving pdf's to the database
- From: Chuck Hill <email@hidden>
- Date: Wed, 23 Sep 2009 14:43:59 -0700
On Sep 23, 2009, at 2:28 PM, Tim Worman wrote:
Thanks for the response. In our case the files will always be
pdf since we are requiring that as the format of the originating
user's submission. I can definitely see the file size concern if
the pdf is a big ole glorified image. Hopefully, most of the
users will produce their pdf's by printing to pdf in mac os x
(or acrobat on Windoze).
I already had a component class that takes plain text blobs
(logs) from the database, converts them to pdf, and presents
them in a browser window. That class doesn't work on the blobs
where the file was originated as pdf.
How does it present the converted files?
It implements iText but at some point I will be moving to PDFKit.
I present the text as a PDF in a new window.
The same thing should work with the PDF in a database.
Right, but since it should already be a PDF, I don't need any
translation or need for my iText implementation, correct?
Yeah, just the "present the text as a PDF in a new window" part.
So, I got concerned that maybe I was missing something saving
the NSData. My database saves blobs to the file system so I
tried reading one as a pdf and couldn't. Hence my question.
That might be an artifact of your database (adding extra info).
It could also be that there is some encoding/re-encoding
happening that is scrambling the contents of the file. Which
database are you using?
I'm using OpenBase and I suspect what you're saying is right. It
does cause some worry though since I don't have the review portion
working yet. :-)
You are certain it is a BLOB not a CLOB?
How is the attribute modeled?
I've modeled it as a blob, with the external type 'object.' OpenBase
has a 'binary' type but it seems 'object' should be correct. I
attached a screenshot.
I don't think you did. :-) I am not sure which type is correct, or
if both are.
Chuck
I've assumed that I should just be able create a response that
simply returns my NSData object and set the proper content-type.
Am I on the right track?
That is what I have always done in the past. It _should_ be
simple and straightforward.
Chuck
On Sep 23, 2009, at 9:02 AM, John & Kim Larson wrote:
Hi Tim,
We do this all the time with receiving reports, prints, etc.
Since the component I use for upload handles any file type
( Word, images, PDF) I keep track of the file extension that
the file was uploaded with in an attribute of my File entity. I
then use that information to reconstitute the mime type when
either embedding or downloading the file. There's not too much
magic there, just a bunch of if elses to get the mime type from
the extension. I can try to help you if that isn't enough info.
Another gotcha is to make sure that your file size doesn't
exceed the blob capacity. PDFs from text are fine, but if
someone uploads a high res scanned file as a PDF, you will get
an error either upon committing the change or upon trying to
view the file.
JAL
John A. Larson
President
Precision Instruments, Inc.
Ph: 847-824-4194
Fax: 866-240-7104
Sent from my iPhone
On Sep 23, 2009, at 10:45 AM, Tim Worman <email@hidden>
wrote:
WO'ers:
I am writing an application where users can upload pdf files -
which my app saves to the database. I also need to have
mechanisms in place where a "reviewer" can browse the
documents that have been uploaded. The upload and saving to
the database seems to be working. This is modeled as 'blob'
and the class type is 'NSData.' The files are uploaded via
AjaxFileUpload.
I have saved plain text files to the database before but I'm
concerned that there is something more I need to do to save
the pdf files. Are there special considerations for
maintaining the mime type, continuity, etc. of these files
before I save them as NSData to the database? Also, I am not
sure how to present the files to the reviewer. I have
converted text to pdf for viewing before but I'm stuck on
reconstituting a pdf for display.
If anyone has any pointers or code examples that would really
help me as I'm under a serious time crunch.
Tim
UCLA GSE&IS
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (Webobjects-
email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden
--
Chuck Hill Senior Consultant / VP Development
Practical WebObjects - for developers who want to increase their
overall knowledge of WebObjects or who are trying to solve
specific problems.
http://www.global-village.net/products/practical_webobjects
--
Chuck Hill Senior Consultant / VP Development
Practical WebObjects - for developers who want to increase their
overall knowledge of WebObjects or who are trying to solve specific
problems.
http://www.global-village.net/products/practical_webobjects
--
Chuck Hill Senior Consultant / VP Development
Practical WebObjects - for developers who want to increase their
overall knowledge of WebObjects or who are trying to solve specific
problems.
http://www.global-village.net/products/practical_webobjects
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden