Your search did not match any results.
File Manager

Physical File System

Documentation

The File Manager widget can work with a file system located on the server. To connect the widget with the file system items, assign the Remote File Provider to the fileProvider option. Pass the endpoint url to the remote file provider object to specify the Url at which the widget can access the file system items.

Configure the built-in server-side helper methods to process the FileManager widget's AJAX requests on the ASP.NET MVC and ASP.NET Core backend.

  1. Create an instance of the FileSystemConfiguration class to create a file provider and configure its interaction with file system items.
  2. Use the FileSystemProvider property to specify a file system provider. For a physical file system, configure a file provider of the DefaultFileProvider type.
  3. Use the FileSystemCommandProcessor class to process commands and request parameters that the widget passes to the file system.

This demo contains commented out code lines that enable file modification operations. You can uncomment them and configure if necessary.

Copy to CodeSandBox
Apply
Reset
<template> <dx-file-manager :file-provider="remoteFileProvider" :allowed-file-extensions="allowedFileExtensions" > <!-- uncomment the code below to enable file/directory management --> <!-- <dx-permissions :create="true" :copy="true" :move="true" :remove="true" :rename="true" :upload="true" :download="true" /> --> </dx-file-manager> </template> <script> import { DxFileManager, DxPermissions } from 'devextreme-vue/file-manager'; import RemoteFileProvider from 'devextreme/ui/file_manager/file_provider/remote'; const remoteFileProvider = new RemoteFileProvider({ endpointUrl: 'https://js.devexpress.com/Demos/Mvc/api/file-manager-file-system-scripts' }); const allowedFileExtensions = ['.js', '.json', '.css']; export default { components: { DxFileManager, DxPermissions }, data() { return { remoteFileProvider, allowedFileExtensions }; } }; </script>
import Vue from 'vue'; import App from './App.vue'; new Vue({ el: '#app', components: { App }, template: '<App/>' });
<!DOCTYPE html> <html> <head> <title>DevExtreme Demo</title> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" /> <link rel="stylesheet" type="text/css" href="https://cdn3.devexpress.com/jslib/19.2.4/css/dx.common.css" /> <link rel="stylesheet" type="text/css" href="https://cdn3.devexpress.com/jslib/19.2.4/css/dx.light.css" /> <link rel="stylesheet" type="text/css" href="https://cdn3.devexpress.com/jslib/19.2.4/css/dx-gantt.css" /> <script src="https://unpkg.com/core-js@2.4.1/client/shim.min.js"></script> <script src="https://unpkg.com/systemjs@0.21.3/dist/system.js"></script> <script type="text/javascript" src="config.js"></script> <script type="text/javascript"> System.import('./index.js'); </script> </head> <body class="dx-viewport"> <div class="demo-container"> <div id="app"> </div> </div> </body> </html>
System.config({ transpiler: 'plugin-babel', paths: { 'npm:': 'https://unpkg.com/' }, map: { vue: 'npm:vue@2.6.3/dist/vue.esm.browser.js', 'vue-loader': 'npm:dx-systemjs-vue-browser@latest/index.js', 'devextreme': 'npm:devextreme@19.2', 'devextreme-vue': 'npm:devextreme-vue@19.2', jszip: 'npm:jszip@3.1.3/dist/jszip.min.js', 'quill': 'npm:quill@1.3.7/dist/quill.js', 'devexpress-diagram': 'npm:devexpress-diagram', 'devexpress-gantt': 'npm:devexpress-gantt', 'plugin-babel': 'npm:systemjs-plugin-babel@0/plugin-babel.js', 'systemjs-babel-build': 'npm:systemjs-plugin-babel@0/systemjs-babel-browser.js' }, meta: { '*.vue': { loader: 'vue-loader' } }, packages: { 'devextreme-vue': { main: 'index.js' }, 'devextreme': { defaultExtension: 'js' } }, babelOptions: { sourceMaps: false, stage0: true } });