ここ数日、Groovy と Grails を使い始めたばかりです。私は Java の経験がないので、この (おそらく) 非常に基本的な質問を許していただく必要があります。Google と Stack Overflow を検索しましたが、実際のインストールに役立つものは見つかりませんでした。
画像のアップロードが機能しており、ファイルをサーバーに保存しています。IBM Grails チュートリアルを使用してガイドしました。それはうまくいきます。
また、ファイルのサイズを大、中、小の形式で変更したいと考えています。これに imgscar を使用したかったのですが、うまくいきません。さまざまな .jar ファイルを含むバージョン 4.2 をダウンロードしました。これらをサーバーのどこかに置いて参照する必要がありますか? 私が行った唯一のことは、これらの行をに追加することですbuildConfig.groovy
dependencies {
// specify dependencies here under either 'build', 'compile', 'runtime', 'test' or 'provided' scopes eg.
// runtime 'mysql:mysql-connector-java:5.1.20'
compile 'org.imgscalr:imgscalr-lib:4.2'
}
そしてimport org.imgscalr.Scalr.*
私の中でPhotoController.Groovy
ファイルをサーバーに保存するためのコードは次のとおりです。画像のサイズを変更して保存したいと思います。
def save() {
def photoInstance = new Photo(params)
// Handle uploaded file
def uploadedFile = request.getFile('photoFile')
if(!uploadedFile.empty) {
println "Class: ${uploadedFile.class}"
println "Name: ${uploadedFile.name}"
println "OriginalFileName: ${uploadedFile.originalFilename}"
println "Size: ${uploadedFile.size}"
println "ContentType: ${uploadedFile.contentType}"
def webRootDir = servletContext.getRealPath("/")
def originalPhotoDir = new File(webRootDir, "/images/photographs/original")
originalPhotoDir.mkdirs()
uploadedFile.transferTo(new File(originalPhotoDir, uploadedFile.originalFilename))
BufferedImage largeImg = Scalr.resize(uploadedFile, 1366);
def largePhotoDir = new File(webRootDir, "/images/photographs/large")
largePhotoDir.mkdirs()
photoInstance.photoFile = uploadedFile.originalFilename
}
if (!photoInstance.hasErrors() && photoInstance.save()) {
flash.message = "Photo ${photoInstance.id} created"
redirect(action:"list")
}
else {
render(view:"create", model:[photoInstance: photoInstance])
}
}
私が得ているエラーはNo such property: Scalr for class: garethlewisweb.PhotoController
私は明らかに非常に悪いことをしています。任意のガイダンスをいただければ幸いです。