我正在使用 react-dropzone 上传文件。从 react-dropzone ,我得到一个预览,它是一个 blob url。
预览:“blob:http://localhost:8080/96ff7bfc-2825-4316-8914-943a1b3b7f28 ”
我如何在服务器端 nodejs 中访问相同的内容?我想在服务器中拥有该文件的副本并将服务器路径返回给客户端。
我正在使用 react-dropzone 上传文件。从 react-dropzone ,我得到一个预览,它是一个 blob url。
预览:“blob:http://localhost:8080/96ff7bfc-2825-4316-8914-943a1b3b7f28 ”
我如何在服务器端 nodejs 中访问相同的内容?我想在服务器中拥有该文件的副本并将服务器路径返回给客户端。
nodejs代码:参考链接
var express = require( 'express' );
var multer = require( 'multer' );
var upload = multer( { dest: 'uploads/' } );
var sizeOf = require( 'image-size' );
var exphbs = require( 'express-handlebars' );
require( 'string.prototype.startswith' );
var app = express();
app.use( express.static( __dirname + '/bower_components' ) );
app.engine( '.hbs', exphbs( { extname: '.hbs' } ) );
app.set('view engine', '.hbs');
app.get( '/', function( req, res, next ){
return res.render( 'index' );
});
app.post( '/upload', upload.single( 'file' ), function( req, res, next ) {
if ( !req.file.mimetype.startsWith( 'image/' ) ) {
return res.status( 422 ).json( {
error : 'The uploaded file must be an image'
} );
}
var dimensions = sizeOf( req.file.path );
if ( ( dimensions.width < 640 ) || ( dimensions.height < 480 ) ) {
return res.status( 422 ).json( {
error : 'The image must be at least 640 x 480px'
} );
}
return res.status( 200 ).send( req.file );
});
app.listen( 8080, function() {
console.log( 'Express server listening on port 8080' );
});