아무데도 내가 찾은 답변이 없습니다. "Backbone.js 응용 프로그램 개발"에서 예제를 확장하여 파일을 업로드하려고합니다. 양식에 enctype = "multipart/form-data"가 있지만 request.files은 항상 정의되지 않습니다.backbonejs 노드 파일 업로드
양식 HTML은 다음과 같습니다
<form id="addBook" action="..." enctype="multipart/form-data">
<div>
<label for="coverImage">CoverImage: </label><input id="coverImage" name="coverImage" type="file" />
<label for="title">Title: </label><input id="title" type="text" />
<label for="author">Author: </label><input id="author" type="text" />
<label for="releaseDate">Release date: </label><input id="releaseDate" type="text" />
<label for="keywords">Keywords: </label><input id="keywords" type="text" />
<button id="add">Add</button>
</div>
</form>
새 레코드를 저장 노드가 호출되는
addBook: function(e) {
e.preventDefault();
var formData = {};
var reader = new FileReader();
$('#addBook div').children('input').each(function(i, el) {
if($(el).val() != '')
{
if(el.id === 'keywords') {
formData[ el.id ] = [];
_.each($(el).val().split(' '), function(keyword) {
formData[ el.id ].push({ 'keyword': keyword });
});
} else if(el.id === 'releaseDate') {
formData[ el.id ] = $('#releaseDate').datepicker('getDate').getTime();
} else {
formData[ el.id ] = $(el).val();
}
}
});
console.log(formData);
this.collection.create(formData);
}
입니다 백본.
//Insert a new book
app.post('/api/books', function(request, response) {
console.log(request.body);
console.log(request.files);
});
coverimage 노드로 보내는 값은 정확합니다. request.files에는 아무 것도 입력되지 않습니다. 나는 대신 멋진 드래그 앤 드롭을 사용하고 싶습니다.하지만이 작업을 할 때까지 나는 갇혀 있습니다.
나는 JQuery 파일 업로드를 시도했지만 아무데도 가져 오지 못했습니다.
내가 머리카락을 가지고 있다면 지금 당길 것입니다.
http://estebanpastorino.com/2013/09/27/simple-file-uploads-with-backbone-dot-js/ – Joe