2016-06-17 4 views
2

Ich benutze Summernote Texteditor mit PHP, ich kann Bilddateien .png, .jpeg ziehen und ablegen und kann Bild hochladen und erhalten Bildpfad und Bild anzeigen.Kopieren Paste Screenshot in Summernote und als Datei hochladen

I codeigniter tun verwenden und unten ist für die Validierung des Bildes verwendet,

$config['upload_path'] = './uploads/parts/'; 
$config['allowed_types'] = 'gif|jpg|png|jpeg'; 
$config['max_size']  = '2000'; 
$config['encrypt_name'] = TRUE; 
$config['remove_spaces'] = TRUE; 

Wenn ich Drop png Erweiterungsdatei ziehen, es funktioniert perfekt, und unten ist Wunsch paylod, erwartet laufen, weil Datei bereits Erweiterung von png.

------WebKitFormBoundaryZoezKRGNH5LYW3oL 
Content-Disposition: form-data; name="userfile"; filename="2016-06-17_12-53-01.png" 
Content-Type: image/png 


------WebKitFormBoundaryZoezKRGNH5LYW3oL-- 

Aber wenn ich Screenshot und einfach kopieren und einfügen in Editor geht es als BLOB und meine Validierung throw Fehler,

------WebKitFormBoundaryagedeUpo2DrEPCbg 
Content-Disposition: form-data; name="userfile"; filename="blob" 
Content-Type: image/png 


------WebKitFormBoundaryagedeUpo2DrEPCbg-- 

Und da keine Erweiterung der Datei, es Fehler werfen The filetype you are attempting to upload is not allowed.

Wie können wir kopieren einfügen Bild als. Png oder welche Erweiterung sollte ich dafür zugelassen?

Danke,

Antwort

0

Ich habe meine modifizierte u pload JS,

früher war einer wie unten,

data = new FormData(); 
data.append("userfile", files[0]) 

mit diesem So ist es Dateinamen als je angebracht Dateinamen Beispiel myfilename.png nehmen,

jetzt Abhängigkeit von Dateinamen zu entfernen, i geändertener Code unten,

data = new FormData(); 
data.append("userfile", files[0], upload.png) 

so, jetzt alle kopieren und einfügen Bild und Drag & Drop-image-Datei immer als upload.png gehen. Sogar Blobs werden als upload.png bezeichnet.

Referenz - https://developer.mozilla.org/en-US/docs/Web/API/FormData/append

0

Zum application/config/mimes.php

'gif' => 'image/gif', 
'jpeg' => array('image/jpeg', 'image/pjpeg'), 
'jpg' => array('image/jpeg', 'image/pjpeg'), 
'jpe' => array('image/jpeg', 'image/pjpeg'), 
'png' => array('image/png', 'image/x-png'), 

Wenn seine noch echo pathinfo($fileName, PATHINFO_EXTENSION); fehlschlagen und die Erweiterung überprüfen und zu mimen

lesen CodeIgniter Image and File Upload in Formget.com

+0

dies ist das gleiche wie meine Pantomimen-Datei, aber wie diese Blob-Datei ermöglichen? siehe Dateiname = "Blob" es ohne Erweiterung. – rjcode

+0

@rjcode Sie leiten Ihre Site zu SQL Injection. –

+0

@rjcode, um alle zuzulassen, fügen Sie diese $ config ['allowed_types'] = ''; ' –