Вот хорошая ссылка, которая поможет вам отправить изображение с Ajax-клиента на сервер ajax.
http://www.nickdesteffen.com/blog/file-uploading-over-ajax-using-html5
Вы можете прочитать эту документацию парусов получать файлы на сервере парусов:
http://sailsjs.org/documentation/reference/request-req/req-file
Вы можете сделать, как в следующем примере:
Client side (ajax):
var files = [];
$("input[type=file]").change(function(event) {
$.each(event.target.files, function(index, file) {
var reader = new FileReader();
reader.onload = function(event) {
object = {};
object.filename = file.name;
object.data = event.target.result;
files.push(object);
};
reader.readAsDataURL(file);
});
});
$("form").submit(function(form) {
$.each(files, function(index, file) {
$.ajax({url: "/ajax-upload",
type: 'POST',
data: {filename: file.filename, data: file.data}, // file.data is your base 64
success: function(data, status, xhr) {}
});
});
files = [];
form.preventDefault();
});
стороне сервера (паруса): [предположим, у вас есть модель Изображение, которое принимает идентификатор и URL-адрес][здесь образец контроллера изображения, просто чтобы дать вам представление о том]
module.exports = {
uploadPicture: function(req, res) {
req.file('picture').upload({
// don't allow the total upload size to exceed ~10MB
maxBytes: 10000000
},
function onDone(err, uploadedFiles) {
if (err) {
return res.negotiate(err);
}
// If no files were uploaded, respond with an error.
if (uploadedFiles.length === 0){
return res.badRequest('No file was uploaded');
}
// Save the "fd" and the url where the avatar for a user can be accessed
Picture
.update(777, { // give real ID
// Generate a unique URL where the avatar can be downloaded.
pictureURL: require('util').format('%s/user/pictures/%s', sails.getBaseUrl(), 777), // GIVE REAL ID
// Grab the first file and use it's `fd` (file descriptor)
pictureFD: uploadedFiles[0].fd
})
.exec(function (err){
if (err) return res.negotiate(err);
return res.ok();
});
});
}
};
Надеется, что это поможет в ваших исследованиях. Я также рекомендую вам использовать Postman, чтобы сначала проверить ваш API, а затем закодировать своего клиента.
Вам нужно подробнее рассказать о своем вопросе. Не совсем понятно, что вы пытаетесь спросить. См. [Как задать хороший вопрос] (https://stackoverflow.com/help/how-to-ask). –
У вас есть решение для этого? На самом деле я застрял в той же проблеме. – Indra