user2168912
user2168912

Reputation:

How to change the chunksize and Retrieve specific chunk in Mongodb Gridfs?

I am pretty much new in Mongodb now what I want to do is to insert a pdf file of 3MB using JAVA driver and want change the chunk size from 256 to 1mb and then want to retrieve the second chunk say 2nd page of the pdf document. How can I do so. Thankyou.

Upvotes: 0

Views: 1515

Answers (1)

Rob Moore
Rob Moore

Reputation: 3383

Generally, once a document has been written into GridFS you will need to re-write it (delete and save again) to modify the chunk size.

Since GridFS does not know anything about the format of the data in the file it can not help you get to the "2nd page". The InputStream implementation that is returned from GridFSDBFile does avoid reading blocks when you use the skip(long) method. If you know that the "2nd page" is N bytes into the file then you can skip that many bytes in the stream and start reading.

HTH, Rob

P.S. Remember that skip(long) returns the number of bytes actually skipped. You should not assume that skip(12) always skips 12 bytes.

P.P.S Starting to read from the middle of a PDF and making sense of what is there is going to be hard unless you have preserved state from the previous page(s).

Upvotes: 1

Related Questions