У меня есть блестящее приложение, в котором я хотел бы иметь ссылки на внешний веб-инструмент (GenomeCompiler) для чтения файлов в папке приложения «~/www».
Пример html-кода от GenomeCompiler использует файл в веб-репозитории и отлично работает в приложении (см. код ниже). Ожидаемое поведение заключается в том, что после того, как вы запустите код (обратите внимание, что «исходный код» не будет работать, вам нужно запустить его для работы ShinyApp()), он откроет вкладку в веб-браузере (я использую Firefox) с ссылка под названием «плазмида1». Когда вы щелкаете по нему, открывается новая вкладка в браузере, которая загружает данные файла на веб-сайте GenomeCompiler и показывает окружность с аннотациями и другими данными.
##WORKING EXAMPLE
#Directory tree
#ui.R
#server.R
#www/OG34_OG34_pSF-OXB19.gb # this is the file read by the tool, which can be downloaded and saved to the ~/www folder in the shiny app from the link:
# <http://s3.amazonaws.com/gcc_production/plasmid_viewer/OG34_OG34_pSF-OXB19.gb>
library(shiny)
ui <- fluidPage(
# the GenomeCompiler supplied code is "https://designer.genomecompiler.com/plasmid_iframe?file_url=http://s3.amazonaws.com/gcc_production/plasmid_viewer/OG34_OG34_pSF-OXB19.gb"
tags$a(href='https://designer.genomecompiler.com/plasmid_iframe?file_url=http://s3.amazonaws.com/gcc_production/plasmid_viewer/OG34_OG34_pSF-OXB19.gb', target='blank', 'plasmid1')
)
server <- function(input, output){}
shinyApp(ui = ui, server = server)
Я хотел бы использовать этот подход для чтения файла в локальном блестящем каталоге «~/www», но не могу найти правильный синтаксис. В примере выше использовали
tags$a(href='https://designer.genomecompiler.com/plasmid_iframe?file_url=OG34_OG34_pSF-OXB19.gb', target='blank', 'plasmid1')
)
но после загрузки веб-сайта геномкомпилятора выдается «ошибка загрузки файла (внутренняя ошибка сервера)». По своему невежеству я понимаю, что приложение работает локально, но этот внешний инструмент работает с другого адреса и поэтому не может видеть локальный файл приложения. Я предполагаю, что мне нужно указать инструменту местоположение локального файла с URL-адресом, но я не знаю, как это сделать. Кроме того, я читал, что Firefox и другие браузеры не позволяют читать локальные файлы из соображений безопасности, поэтому я хотел бы написать этот код правильно, чтобы я мог безопасно развернуть приложение в Интернете.
Я был бы признателен за помощь в использовании соответствующего синтаксиса или подхода для чтения локального файла приложения в инструменте.
Заранее спасибо!