2013-12-04 6 views
1

У меня есть рабочий код - когда речь идет о загрузке файла ::не сможет просмотреть загруженный файл в браузере

var express=require('express'); 
var mysql=require('mysql'); 
var fs=require('fs'); 
var http=require('http'); 
var crypto=require('crypto'); 

var app=express(); 

var connection=mysql.createConnection({ 
    host:'localhost', 
    user:'****', 
    password:'****', 
    database:'posting_only_image_DB' 
}); 

connection.connect(); 

app.set('port',process.env.PORT||1234); 

app.use(express.static(__dirname+'/public/images')); 

app.use(express.bodyParser()); 

app.post('/Details/',function(req,res,next){ 

    var file_name=req.files.key.originalFilename; 
    console.log(file_name); 

    crypto.randomBytes(8, function(ex, buf) { 

     var array  = req.files.key.originalFilename.split('.'); 
     var type  = array[array.length - 1]; 
     var name  = buf.toString('hex') + '.' + type; 

     fs.rename(req.files.key.path, './public/images/' + name, function(e) { 
      next(e, name); 
     }); 
    }); 
}); 

http.createServer(app).listen(app.get('port'),function(){ 
    console.log('Express server listening on port'+app.get('port')); 
}); 

я сделать запрос, как показано ниже при загрузке файла ::

однако мой запрос работает, и я могу увидеть файл с уникальным идентификатором в диске сервера в месте /public/images .... с именем файла :: 8ce456dc55575888.jpg


Теперь предположим, что, если я хочу, чтобы проверить его, и я хочу, чтобы просмотреть загруженный файл :: Я пять запрос Url ниже для браузера

http://-----URL----/Details/8ce456dc55575888.jpg 

Я получаю ошибку в браузере, как ::

Cannot GET /Details/8ce456dc55575888.jpg 

Как это решить?

ответ

3

У вас нет GET маршрута для /Details/8ce456dc55575888.jpg.

Если вы хотите статическую промежуточное программное обеспечение для обработки этих запросов, необходимо настроить его должным образом:

app.use('/Details', express.static(__dirname+'/public/images')); 

Это означает, что запросы на:

/Details/8ce456dc55575888.jpg 

Будут отображены на:

{{__dirname}}/public/images/8ce456dc55575888.jpg 

Вы можете использовать это в дополнение к другому express.static, которое вы используете ,

+0

Отлично! .... Также спасибо за такую ​​хорошую и подробную информацию ..... это помогает новичкам для ExpressJS – Devrath

Смежные вопросы