https://github.com/eightyfour/drag-king
Drag into box to upload
https://github.com/eightyfour/drag-king
Last synced: 10 months ago
JSON representation
Drag into box to upload
- Host: GitHub
- URL: https://github.com/eightyfour/drag-king
- Owner: eightyfour
- License: mit
- Created: 2015-07-20T13:20:41.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2022-12-08T17:51:57.000Z (over 3 years ago)
- Last Synced: 2025-06-28T07:38:45.045Z (11 months ago)
- Language: TypeScript
- Size: 1.02 MB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 19
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# drag-king
Web application with to upload images to a server.
### Installation
```sh
git clone https://github.com/alextrastero/drag-king.git
cd drag-king
npm install
npm start
```
Navigate to http://YOUR_IP:8000 to see the action.
### permissions
The server supports also permission for user.
**.allowedUsers.json**
```json
{
"max" : {
"pw" : "c8bd0177e53c5d2fec5d7e8cba43c505", // 'ente'
"fullName" : "Max Mustermann"
}
}
```
**.user-permission.json**
It exists three roles default, maintainers and admins. All users which are allowed to login
and not in the following group have default permissions.
```
{
"admins" : ["fred"],
"maintainers": ["max", "bob"]
}
```
### REST interface
For some console tools the dragKing support also a REST interface with
the following REST endpoints:
The most of the REST endpoint supporting BASIC auth. It gives permission
to the user which are listed in the ".allowedUsers.json"
#### /uploadFile
Upload a file
The **data** are the file content and a request param **folder** to specify the folder location
> curl -F data=@fileName.json http://name:password@dragKing.de/uploadFile?folder=/tmp/someFiles
#### /deleteFile
Delete a file
The request param **filename** to specify the file to delete
> curl -d '' http://name:password@dragKing.de/deleteFile?filename=/tmp/text.txt
#### /getFiles
Lists all files inside a specific folder.
> curl -H "Content-Type: application/text" -d '/path/to/folder' http://dragKing.de/getFiles
#### /getFolders
Lists all folders inside a specific folder.
> curl -H "Content-Type: application/text" -d '/path/to/folder' http://dragKing.de/getFolders
## Release notes
**0.0.4**
* deliver image preview as thumbnail
**0.1.0**
complete refactoring of the application
* adding typescript files (client)
* ui redesign
* feature improvements
* folder description
* file search
* upload progress
* login
* ...
**0.1.1**
* provide default 404 file (configurable via fourOFourFile property)
**0.1.3**
* support folder names with a dot inside
**0.1.4**
* support /_/ls/
** add following a path the server result will be a JSON array with
all containing files
** support request parameter ?ext=jpg to filter for jpg files
**0.2.0**
* allow and support basic auth for REST deleteFiles and uploadFiles
* improve error handling for POST calls
TODO: server side code needs to be refactored ...comming soon