0
경로에 미들웨어로 설치 멀터를 설정했습니다. 해당 경로에 도달하면 멀터가 파일을 다운로드하지 않습니다. 이 보고서 CONSOLE.LOG 것입니다 :멀터가 파일을 파일로 저장하지 않음
{ firstname: 'foo',
lastname: 'foo',
username: 'foo10',
password: 'test1234',
file: '/9j/4AAQSkZJRgABAQAASABIAAD/4QBYRXhpZgAATU0AKgAAAAgAAgESAAMAAAABAAEAAIdpAAQAAAABAAAAJgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAAB.....
}
를 I multer에 대해 다음 설정이 있습니다
var storage = multer.diskStorage({
destination: function(req, file, cb) {
cb(null, '../images/profile');
},
filename: function(req, file, cb) {
cb(null, req.body.username + '.jpeg');
}
});
var upload = multer({storage: storage});
router.post('/auth/signup', upload.single('file'), function(req,res) {
console.log(req.body);
});
그래서 문제가 아닌 파일로 파일을 저장하는 단순히 다른 키로 취급한다는 것이다 - 값 쌍. 파일 데이터가 적절한 File
폼 데이터 필드로 업로드되는 아니라고 제안 Base64로 문자열로 업로드되고 http://ionicframework.com/docs/v2/native/camera/
import { Camera } from 'ionic-native';
Camera.getPicture(options).then((imageData) => {
// imageData is either a base64 encoded string or a file URI
// If it's base64:
let base64Image = 'data:image/jpeg;base64,' + imageData;
let formData: FormData = new FormData(),
xhr: XMLHttpRequest = new XMLHttpRequest();
formData.append("file", base64Image);
xhr.onreadystatechange =() => {
if (xhr.readyState === 4) {
if (xhr.status === 200) {
observer.next(JSON.parse(xhr.response));
observer.complete();
} else {
observer.error(xhr.response);
}
}
};
xhr.open('POST', 'http://localhost:8080/auth/signup', true);
xhr.send(formData);
}, (err) => {
// Handle error
});
나는 그것을 얻지 못합니까? 파일을 저장하려고하는데 제대로 작동하지 않습니까? 무슨 일 이니? –
설명이 추가되었습니다. – runtimeZero
Base64로 인코딩 된 JPEG처럼 보입니다. 클라이언트 측 코드가 양식 데이터를 올바르게 업로드하고 있습니까? – robertklep