0

私はGrailsが初めてです。アップローダープラグインを使用して画像をアップロードしています。画像のアップロードは正常に機能します。画像がディレクトリに正常にアップロードされました。

これらの画像を show.gsp ファイルにも表示したいと思います。しかし、私はそれについて何の考えも持っていません。これが私のアップローダータグです:

<uploadr:add name="fileupload" path="C:/Users/Shreshtt/workspace/groovypublish/grails-app/uploader" direction="up" maxVisible="8" unsupported="/uploadr/upload/warning" rating="true" voting="true" colorPicker="true" maxSize="0" />

このデモも参照してください..

ビューページにもこれらの画像を表示するにはどうすればよいですか。助けてください。

4

1 に答える 1

0

次のように、アプリでパスを使用する必要があります。

<uploadr:add name="ComonUp10" path="uploadFile/"  direction="up" maxVisible="8" unsupported="/my/controller/action" rating="true" voting="true" colorPicker="true" maxSize="204800000" />

ここで uploadFile/ は、grails アプリケーションの web-app ディレクトリ内のフォルダーになります。

アップロード済みのファイルは次のように表示されます。

<% def path = new File("uploadFile/") %>
<uploadr:add name="mySecondUploadr" path="${path}" direction="up" maxVisible="5" unsupported="${createLink(plugin: 'uploadr', controller: 'upload', action: 'warning')}">
<% path.listFiles().each { file -> %>
    <uploadr:file name="${file.name}">
        <uploadr:fileSize>${file.size()}</uploadr:fileSize>
        <uploadr:fileModified>${file.lastModified()}</uploadr:fileModified>
        <uploadr:fileId>myId-${RandomStringUtils.random(32, true, true)}</uploadr:fileId>
    </uploadr:file>
<% } %>
</uploadr:add>

また、アップローダーなしでそのディレクトリにアップロードされた画像を表示するには、GSP ページに画像タグを次のように追加できます。

<img class="" src="${resource(dir:'uploadFile',file:'your-image.jpg')}"  />

各ループに画像を追加して、私のようなものにすることができます:

<g:each in="imageContainingList" var="oneRowObject">
   <img class="" src='${resource(dir:"uploadFile", file:"${oneRowObject.imageFile}.jpg")}'  />

</g:each>

または、uploadFile フォルダー内のすべての画像を一覧表示する場合は、次を試してください。

コントローラー内のすべてのイメージ名を収集し、それらをビューに渡し、grails イメージ タグを使用して表示する必要があります。

すべてのイメージ名を収集するには、grails アプリへのパスが必要です。

def showImageGalleryControllerFunction(){
    def imageDir = grailsAttributes.getApplicationContext().getResource("/uploadFile/").getFile().toString()

   //Collect image names

    def images = []
    new File(imageDir).eachFileMatch (~/.*.png/) { file ->
        images << file.getName()
    }

   [images:images]
}

そしてあなたのshowImageGalleryControllerFunction.gspファイルで:

<g:each in="${images}" var="image">
    <g:img dir="images" file="$image" />
</g:each>
于 2013-07-09T10:01:53.140 に答える