Closed GoogleCodeExporter closed 9 years ago
Hi Chris,
Thank you for reporting this issue.
The behavior you've described is definitely not deliberate, and works contrary
to what would be reasonably expected.
This issue seems to occur when the file extension for the output file is in
lowercase letters. (e.g. JPG, Jpg, etc)
I'll have to take a closer look into what kind of use cases exhibits this
issue, and then I'll address the issue and release a new version of
Thumbnailator.
I can't make any promises about when I can fix the problem, but if not this
weekend, I should be able to by the end of this month.
Once again, thank you for taking the time to write a detailed report on this
issue.
Chris
Original comment by coobird...@gmail.com
on 10 Aug 2011 at 3:55
Hi, thanks for the quick response, look forward to the next release but no
time pressure from my end.
Original comment by cjnjo...@gmail.com
on 10 Aug 2011 at 7:05
This issue has been addressed in Thumbnailator 0.3.9.
-----
This defect was causing extraneous file extensions to be appended to the end of
thumbnail filenames when the file extension of the specified destination was
not in lowercase.
For example, the following code did not cause an extraneous file extension to
be added, as the destination file name specifies the extension with lowercase
letters:
Thumbnails.of("path/to/image.jpg")
.size(100, 100)
.toFile("path/to/thumbnail.jpg");
// -> The thumbnail is written to "path/to/thumbnail.jpg"
The following, however, will have an extraneous "jpg" appended to the end of
the file name, as the file extension of the destination is a uppercase "JPG":
Thumbnails.of("path/to/image.jpg")
.size(100, 100)
.toFile("path/to/thumbnail.JPG");
// -> The thumbnail is written to "path/to/thumbnail.JPG.jpg"
Furthermore, specifying the output format via the `outputFormat` method could
have lead to even stranger behavior when the format was not specified in
lowercase:
Thumbnails.of("path/to/image.jpg")
.size(100, 100)
.outputFormat("JPG")
.toFile("path/to/thumbnail.JPG");
// -> The thumbnail is written to "path/to/thumbnail.JPG.JPG"
These were serious violations of the principle of least surprise, and
furthermore, extremely difficult to work around.
-----
Now, the destination file name is considered "correct", so unless there is a
incorrect (extension not suitable for the format specified in the
`outputFormat` method) or missing extension in which case the default file
extension will be appended to the file name.
Please refer to the following examples to see how Thumbnailator 0.3.9 handles
file extensions:
Thumbnails.of("path/to/image.jpg")
.size(100, 100)
.toFile("path/to/thumbnail.JPEG");
// -> The thumbnail is written to "path/to/thumbnail.JPEG"
Thumbnails.of("path/to/image.jpg")
.size(100, 100)
.outputFormat("jpg")
.toFile("path/to/thumbnail.JPEG");
// -> The thumbnail is written to "path/to/thumbnail.JPEG"
Thumbnails.of("path/to/image.jpg")
.size(100, 100)
.outputFormat("JPEG")
.toFile("path/to/thumbnail.jpg");
// -> The thumbnail is written to "path/to/thumbnail.jpg"
Original comment by coobird...@gmail.com
on 13 Aug 2011 at 12:21
Original issue reported on code.google.com by
cjnjo...@gmail.com
on 8 Aug 2011 at 9:52