セイル v.9.x でスキッパーと jquery-file-uploader を使用して、一連のファイルをサーバーにアップロードしようとしています。また、フォームと複数のファイルを含む他の 2 つのフィールド名も追加する必要があります。しかし、私はそれをうまく機能させるのに苦労しています。サーバーにログを記録すると、ファイルが存在しないと表示されます。助けてもらえますか?
これが私のフロントエンドjsです:
var filesList = [],
fileupload = $('#uploader'),
paramNames = [];
var button = $("button.success.start.uploadbutton");
file_upload = fileupload.fileupload({
autoUpload: false,
fileInput: $("input:file"),
}).on("fileuploadadd", function(e, data){
filesList.push(data.files[0]);
paramNames.push(e.delegatedEvent.target.name);
});
button.click(function(e){
e.preventDefault();
var data = fileupload.serialize();
var toServer = {
data: data, files:filesList, paramName: paramNames
};
console.log(file_upload.fileupload);
file_upload.fileupload('send', toServer
).success(function(result, textstatus, jqXHR){
console.log("gettting the file uploaded!");
});
});
サーバー側は次のとおりです。
'upload': function (req, res) {
req.file('files').upload(function (err, files) {
console.log(files);
if (err) return res.serverError(err);
return res.json({
message: files.length + ' file(s) uploaded successfully!',
files: files
});
});
そしてエクスプレスjs:
module.exports.express = {
bodyParser: require('skipper')
}