2017-02-08 10 views
1

私のスクリプトのwwwフォルダ内に一連の ".jpg"ファイルがあります。私はrenderImageを使用して、自分のUIの入力(日付、プラットフォーム)に基づいて "dateplatform.jpg"という名前のファイル名で画像をレンダリングします。下のスクリプトをserver.rファイル内で試してみると、アプリは画像を表示していません。何かご意見は?レンダリングイメージのファイルパスを生成するShiny SelectInput

UI(部分)

 fluidRow(
       column(width=12, 
       imageOutput("platformimage") 
        ) 
       ) 

サーバー(部分)

filename <- reactive ({ 
    paste(input$date, input$platform, sep="") 
    }) 

    output$platformimage <- reactive({ 
    renderImage({ 
    list(src = filename(), 
     width = 600, 
     height = 600) 

      },deleteFile = FALSE) 
    }) 
+0

'renderImage'は' reactive'の中に埋め込む必要はありません – HubertL

+0

@HubertL日付、プラットフォームのデフォルトの選択である "警告:Error in file.info:filenameが無効です"が表示されるため、画像は含まれていません。 –

答えて

1

filenameは、それに結合した少なくとも拡張子を持つ必要があり、それをnormalizePathするために、おそらくほうが安全です:

filename <- reactive({ 
    normalizePath(file.path(paste0(input$date, input$platform '.jpg'))) 
}) 

これが失敗した場合は、おそらくサーバーがファイル。 filename()によって作成されたパスを確認し、内部を修正してくださいfile.path()

希望します。

+0

@Gガンバ、私は確かにまだ問題を見ています。直接ファイルパスにsrcを手動で追加すると、画像がうまく生成されます。renderImageに問題がある日付とプラットフォームの入力名を貼り付けようとしています。私はそれをサーバーのrenderImageとUIのimageOutputとして持っています。あれは正しいですか? –

+1

UIのserver.Rと 'textOutput( 'path')'に 'output $ path < - renderText({filename()})'を入れてみてください。結果は何ですか? また、 'renderImage'から' reactive'を取り出してください – GGamba

+0

@Gガンバ、それはありがとう! –

関連する問題