0
ajaxを使用してnodejsサーバーに画像をアップロードしようとしていますが、ファイルを取得できません。ajaxを使用してnodejsにファイルをアップロード
クライアント側
function sendFileToServer(file){
var formData = new FormData();
formData.append('profile_image',file,file.name);
$.ajax({
type: "POST",
url: "URL",
data: formData,
dataType:'json',
processData: false,
success: function (data) {
alert("Data Uploaded: "+data);
},
error : function(err){
alert(JSON.stringify(err));
}
});
}
$("#profile_image_2").change(function(){
var file = this.files[0];
sendFileToServer(file);
});
サーバー側
var multer = require('multer');
var mime = require('mime-lib');
var storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, './public/upload/')
},
filename: function (req, file, cb) {
console.log("filename exte "+file.mimetype);
console.log(mime.extension(file.mimetype));
cb(null, Date.now() + '.' + mime.extension(file.mimetype)[0]);
//crypto.pseudoRandomBytes(16, function (err, raw) {
// cb(null, raw.toString('hex') + Date.now() + '.' + mime.extension(file.mimetype));
//});
}
});
var uploading = multer({ storage: storage });
router.post('/profile',uploading.single('profile_image') ,function(req,res){
if (req.file){
res.json("In here");
}else{
res.json("FILE DOES NOT EXIST");//ALWAYS ENDS UP HERE
}
});
私はそれがうまく動作しますが、AJAXを使用していない裸の形でそれをしようとします。助けてください
あなたは実際にURLとして「URL」を送信していないと思いますか? – Ageonix
はい。それはセキュリティ上の理由から私は実際のURLを取り出しなければならなかった。 –
正確にはどうなりますか?あなたは404を手に入れていますか?サービスには届いても、ファイルを入手できませんか?ここには多くのことが起こっているかもしれません。 – Ageonix