<div class="form-group">
<label class="form-control-label">
{{ __('Not Dosyası') }} : <span class="m--font-danger">*</span>
</label>
<br />
<button type="button" onclick="$('#new--file').trigger('click');" class="btn m-btn m-btn--gradient-from-primary m-btn--gradient-to-info">{{ __('Not Dosyasını Yükle') }}</button>
</div>
<form id="new--form_file" enctype="multipart/form-data">
<input class="m--hide" type="file" name="file" id="new--file" />
</form><!-- group image form -->
jquery:
$(function() {
$("#new--file").on('change', (function(e) {
LessonNote.new.readURL(this);
}));
});
readURL-Methode:
readURL: function(input) {
var file = input.files[0];
var fileType = file.type;
var fileSize = file.size;
var match = ["application/pdf"];
var maxSize = 20971520; // 20MB
if (fileSize > maxSize) {
swal(LANGCONVERT.error + '!', LANGCONVERT.file_maximum_size_20, "error");
} else if (!((fileType === match[0]))) {
swal(LANGCONVERT.error + '!', LANGCONVERT.file_supported_types_pdf, "error");
} else {
$.ajax({
url: api.main + api.file_upload,
type: 'post',
data: file,
success:function(data){
console.log(data);
},
cache: false,
contentType: false,
processData: false
});
}
}
Laravel Seite:
public function store(Request $request) {
$rules = [
'file' => 'required|max:10000|mimes:pdf,jp2,jpeg,jpg,png,bmp,tiff,tif,mirax'
];
$this->validate($request, $rules);
$data = $request->all();
$data["file"] = $request->file->store('');
return $this->showMessage($data, 201);
}
Rückgabefehler:
http: // localhost: 8181 / api / file_upload 422 (nicht verarbeitbare Entität)
Dies bedeutet, dass ein Dateifeld erforderlich ist.
Ich versuche es mit POSTMAN, es funktioniert super. Wie kann ich eine Datei mit dem Namen als Datei senden?
Du machst es hier falsch
var file = input.files[0];
...
$.ajax({
...
data: file,
...
...
Stattdessen müssen Sie mit senden FormData()
var file = input.files[0];
var formData = new FormData();
formData.append("file", file);
...
// and in $.ajax({
$.ajax({
...
data: formData,
...
...
Hoffe, das ist klar, Sie können sich hier ein anderes grundlegendes Beispiel ansehen - Ajax Upload image
Ich habe Ihren anderen Code mit abgeschnitten ...
, um Ihren Fehler auf einen genauen Code zu verweisen.
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen