2016-06-27 9 views
0

画像をdbに挿入して、モバイル用のjsonデータとして取得しようとしました。私は正常にパスを挿入し、jsonとしてパスを取得することができますが、私の友人がURLにアクセスしようとしたときに、そのようなファイルが見つからないか、または見つかりませんでした。 これはコードjson画像データにアクセスできません

var express=require("express"); 
var app=express(); 
var fs = require("fs"); 
var sql=require('mysql'); 
var http = require("http"); 
var server = http.createServer(); 
var bodyParser = require('body-parser'); 
// app.use(bodyParser()); 
    var multer = require('multer'); 

    // var upload=multer({dest:'tmp/'}); 

    // app.use(express.static('public')); 

    var storage = multer.diskStorage({ 
    destination: function (req, file, cb) { 
    cb(null, 'C:/Users/Ramachandran/Desktop/File/tmp/upload') 
    }, 
    filename: function (req, file, cb) { 
    cb(null, file.fieldname + '-' + Date.now()) 
    } 
}) 

    var upload = multer({ storage: storage }) 
    app.use(bodyParser.urlencoded({extended: true})); 

var con=sql.createConnection({ 
    host:"localhost", 
    user:"root", 
    password:'', 
    database:'test' 
}); 



app.get('/',function (req,res){ 
    con.connect(function(err){ 
     if(err){ 
      console.log(err); 
      return; 
     } 
    console.log("connection established"); 
    res.send("connection established"); 
}); 

}) 

app.get('/index',function(req,res){ 
    res.sendFile('index.html',{'root': __dirname }); 
}) 


app.post('/insert', upload.single("myfile"), function (req,res){ 

    var tes = __dirname + "/" + req.file.originalname; 

    fs.writeFile(tes, data, function (err) { 
     if (err) { 
        console.log(err); 
       } else { 
        var response = { 
         message: 'File uploaded successfully', 
         filename: req.file.originalname 
        }; 
       } 
       console.log(response); 
      }); 

    var data = { 
     uid:req.body.RollNo, 
     pat:req.file.path 
    }; 


    con.query("insert into src set ?",data, function (err,rows){ 
     if(err) throw err; 
     res.send("Value has bee inserted"); 
    }) 


}) 

app.get('/test',function(req,res){ 
    con.query('select * from src',function (err,rows){ 
     if(err) throw err; 
     console.log("data receive from db"); 
     console.log(rows); 
     res.send(rows); 
    }) 
}) 

app.listen(8888)です。

この私のJSONデータ

[{"uid":78965,"pat":"C:\\Users\\Vasanth\\Desktop\\File\\tmp\\upload\\myfile-1467012273947"},{"uid":987,"pat":"C:\\Users\\Vasanth\\Desktop\\File\\tmp\\upload\\myfile-1467"}] 
+1

避ける:\ \ユーザー\\ Vasanth \\デスクトップ\\ファイル\\ tmp \\アップロード\\ myfile-1467012273947 " –

答えて

0

ローカルパスを返すされているので、これは動作しません。ファイルはあなたのマシン上に存在しますが、あなたの友人がそれをダウンロードしようとすると、彼は自分のマシン上でC:\\Users\\Vasanth\\Desktop\\File\\tmp\\upload\\myfile-1467012273947で見つけようとしています。あなたはすなわち、それは、サーバによって公開されて、そこからファイルを提供され、フォルダにファイルを保存する必要があります - http://localhost:8888/files/myfile-1467012273947これを達成する最も簡単な方法は、express.staticミドルウェアを使用しています。ローカルパス「Cを使用してhttp://expressjs.com/en/starter/static-files.html

+0

あなたの返信[{" uid ":4521、" pat ":" tmp \\ e81a365801e3ee1eb9d7ae8e6b62e471 "}]ありがとう正しいURLを...それも動作しませんでした..あなたは私のコード私は急行静的を使用していることができますが、それは私のためにうまくいきませんでした。 – chozhan

+0

'express.static'ミドルウェアを見てください。ファイルを提供するのに役立ちます。 –

+0

ありがとうございました。 – chozhan

関連する問題