Ich versuche mein Laravel-Projekt, um ein Formular zu erstellen, das ein Bild auf dem Server mit Ajax hochladen, aber die Anfrage immer fehlgeschlagen, versuche ich dies zu tun gibt es ein Problem im Code?Fehler beim Hochladen des Bildes mit Ajax auf Laravel 5
html:
<form id="changeImage" enctype="multipart/form-data">
<input type="hidden" name="_token" id="_token" value="{{csrf_token() }}">
<center>
<div class="form-group">
<center><input type="file" name="image" accept="image/*"></center>
<p class="help-block">Format: png, jpg et gif.</p>
</div>
</center>
<button type="submit" class="btn btn-primary">Submit</button>
</form>
Ajax:
$('input[name="image"]').change(function(event) {
files = event.target.files;
});
$('#changeImage').submit(function(event) {
event.preventDefault();
var _token= $('input[name="_token"]').val();
var data = new FormData();
data.append('_token',_token);
$.each(files, function(k, v) {
data.append('image',v);
});
$.ajax({
url: '/profile/image',
type: 'POST',
data:data,
processData: false,
contentType: "multipart/form-data",
success: function(data){
console.log('done'+data);
},
async: false,
error: function(data){
console.log('No');
var errors = data.responseJSON;
errorsHtml = '<div class="alert alert-danger"><ul>';
$.each(errors , function(key, value) {
errorsHtml += '<li>' + value[key] + '</li>';
});
errorsHtml += '</ul></div>';
$('#form-errors').html(errorsHtml);
}
});
});
Server Side - PHP (Laravel):
Route:
Route::post('profile/image','[email protected]');
-Controller
public function postImage(Request $request){
if($request->ajax()){
$imagedestination = 'images\profile';
$file = $request->file('image');
$image_name = time()."-".$file->getClientOriginalName();
$file->move($imagedestination, $image_name);
}
}
http://stackoverflow.com/questions/36281248/upload-image- to-database-in-laravel-5-using-eloquent-orm – Sunil
@Sunil ich versuche das zu tun, aber ich bekomme einen jQuery-Fehler in dieser Zeile 'data: new FormData ($ (" # upload_form ") [0]), 'Der Fehler ist:' TypeError: 'append' aufgerufen für ein Objekt, das Interface FormData nicht implementiert. ' –