2017-12-19 2 views
1

Ich versuche, die Dateierweiterung zu überprüfen. I followed this post und also this oneDateierweiterungs-Bestätigungsmeldung wird nicht angezeigt

Problem

In meinem Testfall habe ich versucht, eine Zip-Datei hochladen. Die Fehlermeldung lautet: Das Kategorie-Image konnte nicht hochgeladen werden. Die erwartete Fehlermeldung ist die in der Anforderungsklasse unten angegebene.

Mein Code ist unten.

Anfrage Klasse

class UpdateCategoryRequest extends Request 
{ 
    public function __construct() { 
    } 

    public function authorize() { 
     return true; 
    } 

    public function wantsJson() { 
     return true; 
    } 

    public function rules() { 
     return [ 
      'Category_Image' => "image|mimes:bmp,png,jpg,gif" 
     ]; 
    } 

    public function messages() { 
     return [ 
      "Category_Image.mimes" => 
          "Only image files with extension(bmp,png,jpg,gif) are allowed." 
     ]; 
    } 
} 

JQuery Ajax-Code

var fileUpload = $("#Category_Image").get(0); 
var files = fileUpload.files; 

var fileData = new FormData(); 

for (var i = 0; i < files.length; i++) { 
    fileData.append("Category_Image", files[i]); 
} 

$.ajax({ 
    method: "POST", 
    url: "{!! route('Update_Category') !!}", 
    cache: false, 
    async: true, 
    data: fileData, 
    processData: false, 
    contentType: false, 
    success: function(result) { 
    }, 
    error: function(result) { 
    } 
}); 

Antwort

0

Ihr Code korrekt ist, Sie nur [] zum Category_image Namen, um so etwas hängen Sie verpasst haben:

fileData.append("Category_Image[]", files[i]);