View source: R/shiny-fancyFileInput.R
| get_dipsaus_upload_dir | R Documentation |
fancyDirectoryInputRetrieve the upload directory path for a fancyDirectoryInput.
The upload directory is generated based on the session token
and input ID, and files uploaded to the input preserve their relative directory structure within this directory.
get_dipsaus_upload_dir(inputId, session = shiny::getDefaultReactiveDomain())
inputId |
the input ID (relative to the session, whose namespace
will be automatically applied via |
session |
the Shiny session object (default: |
This function is useful for:
Manually cleaning up uploaded files via unlink(get_dipsaus_upload_dir(inputId), recursive = TRUE)
Processing files with their preserved directory structure
Accessing the upload directory for custom file operations
The upload directory is deterministic for a given session and input ID, meaning
multiple uploads to the same input will use the same directory (unless
autoCleanup = TRUE is set, which clears the directory before each new upload).
In Shiny modules, use the relative inputId (e.g., "dir_input")
rather than the full ID (with namespace applied). The function will automatically handle
namespace conversion via session$ns(inputId).
Character string with the upload directory path, or NULL if
the input has no uploaded files yet. The directory path follows the pattern
tempdir()/dipsaus_uploads/{6-char-hash}/ where the hash is derived
from digest(session_token + full_inputId).
## Not run:
server <- function(input, output, session) {
observeEvent(input$dir_input, {
files <- input$dir_input
if(!is.null(files) && attr(files, "upload_status") == "completed") {
# Get the upload directory
upload_dir <- get_dipsaus_upload_dir("dir_input")
cat("Files are stored in:", upload_dir, "\n")
# Process files...
# Clean up when done
unlink(upload_dir, recursive = TRUE, force = TRUE)
}
})
}
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.