1.0.8 • Published 3 years ago

socket.io-cloud-upload-server v1.0.8

Weekly downloads
-
License
ISC
Repository
github
Last release
3 years ago

socket.io-cloud-upload-server 1.0

socket.io-cloud-upload-server allow to upload files and store file detail to database!

Server side

const SocketIOFileCloud = require("socket.io-cloud-upload-server")

import SocketIOFileCloud from "socket.io-cloud-upload-server"

io.on('connection', (socket) => {
	console.log('Socket connected.');

	var uploader = new SocketIOFileCloud(socket, {
		database: {
			cloud: query("select * from database"),  //from mysql query 
			member_id: socket.user_id //if you want to store user id 
		},
		// uploadDir: {			// multiple directories
		// 	music: 'data/music',
		// 	document: 'data/document'
		// },
		uploadDir: 'data',							// simple directory
		// accepts: ['audio/mpeg', 'audio/mp3'],		// chrome and some of browsers checking mp3 as 'audio/mp3', not 'audio/mpeg'
		// maxFileSize: 4194304, 						// 4 MB. default is undefined(no limit)
		chunkSize: 102400,							// default is 10240(1KB)
		transmissionDelay: 0,						// delay of each transmission, higher value saves more cpu resources, lower upload speed. default is 0(no delay)
		overwrite: false, 							// overwrite file if exists, default is true.
		rename: function (filename: any) {
			var split = filename.split('.');	// split filename by .(extension)
			var ext = split[split.length - 1];
			return `${Date.now()}.${ext}`;
		}
		// rename: 'MyMusic.mp3'
	})

	
	uploader.on('start', (fileInfo) => {
		console.log('Start uploading');
		console.log(fileInfo);
	});
	uploader.on('stream', (fileInfo) => {
		console.log(`${fileInfo.wrote} / ${fileInfo.size} byte(s)`);
	});
	uploader.on('complete', (fileInfo) => {
		console.log('Upload Complete.');
		console.log(fileInfo);
	});
	uploader.on('error', (err) => {
		console.log('Error!', err);
	});
	uploader.on('abort', (fileInfo) => {
		console.log('Aborted: ', fileInfo);
	});
});

FAQ

Upload 0 bytes

Try to upload after "ready" event fired.

Browser Supports

This module uses FileReader API with ArrayBuffer, so make sure your browser support it.

1.0.2

3 years ago

1.0.1

3 years ago

1.0.8

3 years ago

1.0.7

3 years ago

1.0.6

3 years ago

1.0.5

3 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.0

3 years ago