Shinyproxy: Memasang glossyproxy ke sistem file host.

Dibuat pada 5 Jan 2021  ·  8Komentar  ·  Sumber: openanalytics/shinyproxy

Saya memiliki aplikasi mengkilap di mana pengguna dapat mengunggah data, memanipulasi data di aplikasi, dan kemudian menyimpan data yang dimanipulasi ke sistem file lokal mereka. Saya bisa menjalankan ini secara lokal dengan glossyproxy dengan menggunakan

container-volumes: ["/Users:/app_data"]

di aplikasi.yml. Ini memasang sistem file pengguna host (/ Pengguna) ke wadah (/ app_data). Namun, ketika saya menerapkan aplikasi di server jarak jauh, saya tidak dapat lagi memasang ke sistem file Host. Saya ingin pengguna dapat menyimpan ke sistem file mereka sendiri. Apakah ini mungkin? Saya telah mencoba beberapa alternatif untuk /Pengguna seperti ${HOME} tanpa hasil.

Terima kasih.

question

Semua 8 komentar

ya, Anda dapat melakukannya dengan sintaks seperti:

container-volumes: ["/home/#{proxy.userId}:/app_data"]

Menggunakan:
container-volumes: ["/home/#{proxy.userId}:/app_data"]
masih mengakibatkan saya tidak dapat mengakses sistem file host ketika aplikasi digunakan di server jarak jauh. Untuk konteksnya, saya menggunakan mengkilapFileSave di dalam aplikasi mengkilap dan kode itu adalah sebagai berikut:
roots <- c("Home Directory" = "/app_data")
shinyFileSave(input = input, id = 'save', roots = roots, session = session)
Ketika saya menggunakan aplikasi saya melalui server jarak jauh dan menggunakan tombol simpan file, saya dipasang ke sistem file kosong tanpa folder apa pun alih-alih sistem file Host saya dengan akses ke desktop saya, dll. Apakah saya memasang ke sistem file pengguna Host di remote linux server bukannya sistem file di desktop mereka? Atau mungkin ini masalah izin. Pada akhirnya saya ingin pengguna dapat menyimpan apa yang mereka buat di aplikasi web ke desktop mereka. Terima kasih!

Jika berguna, berikut adalah daftar berbagai tunggangan yang telah saya coba. Tidak ada yang berhasil sejauh ini:

`container-volumes: ["${HOME}:/app_data"]`
`container-volumes: ["/$pwd:/app_data"]`
`container-volumes: ["$HOME:/app_data"]`
`container-volumes: ["/Users:/app_data"]`
`container-volumes: ["~:/app_data"]`
`container-volumes: ["/home/#{proxy.userId}:/app_data"]`

Apakah saya memasang ke sistem file pengguna Host di server jarak jauh linux alih-alih sistem file di desktop mereka?

Ya benar. Jika glossyproxy berjalan pada server jarak jauh linux, sistem host adalah server jarak jauh tersebut, yang dapat Anda akses dengan pemasangan volume.

Pada akhirnya saya ingin pengguna dapat menyimpan apa yang mereka buat di aplikasi web ke desktop mereka.

Bukankah downloadButton cukup dalam kasus ini? (https://shiny.rstudio.com/articles/download.html)

Solusi downloadButton dan downloadHandler tidak ideal tetapi akan berhasil. Saya pikir ini kemungkinan satu-satunya solusi mengingat sifat ShinyProxy dan tidak mungkin untuk memasang ke desktop komputer pengguna. Terima kasih atas bantuannya!

"Sistem file host" adalah sistem file server jarak jauh. Apa yang ingin Anda capai adalah menyimpan file ke sistem file klien? Itu tidak mungkin menurut saya.

Ya, tujuan awalnya adalah untuk menyimpan file ke sistem file klien dengan shinyFileSave tetapi saya setuju bahwa ini tidak mungkin.

Hai @lucius-verus-fan

Saya pikir pertanyaan Anda sudah terjawab sekarang, oleh karena itu saya menutup masalah ini. Seperti biasa, jangan ragu untuk membuka edisi baru jika Anda memiliki pertanyaan atau masalah lain.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat