在 summernote 中复制粘贴屏幕截图并上传为文件
copy paste screenshot in summernote and upload as file
我正在使用带有 PHP 的 summernote 文本编辑器,我可以拖放图像文件 .png、.jpeg 并且可以上传图像并获取返回的图像路径和显示图像。
我确实使用 codeigniter,下面用于图像验证,
$config['upload_path'] = './uploads/parts/';
$config['allowed_types'] = 'gif|jpg|png|jpeg';
$config['max_size'] = '2000';
$config['encrypt_name'] = TRUE;
$config['remove_spaces'] = TRUE;
当我拖放 png 扩展名文件时,它工作得很好,下面是请求负载,预计 运行 因为文件已经有 png 扩展名。
------WebKitFormBoundaryZoezKRGNH5LYW3oL
Content-Disposition: form-data; name="userfile"; filename="2016-06-17_12-53-01.png"
Content-Type: image/png
------WebKitFormBoundaryZoezKRGNH5LYW3oL--
但是当我截取屏幕截图并简单地复制它并粘贴到编辑器中时,它会变成 BLOB 并且我的验证会抛出错误,
------WebKitFormBoundaryagedeUpo2DrEPCbg
Content-Disposition: form-data; name="userfile"; filename="blob"
Content-Type: image/png
------WebKitFormBoundaryagedeUpo2DrEPCbg--
并且因为没有文件扩展名,所以抛出错误The filetype you are attempting to upload is not allowed.
我们如何以 .png 格式发送复制粘贴图像,或者我应该允许哪个扩展名?
谢谢,
转到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'),
If its fail still echo pathinfo($fileName, PATHINFO_EXTENSION);
and check the extension and to mimes
我确实修改了我上传的JS,
前一个是这样的,
data = new FormData();
data.append("userfile", files[0])
因此,它将根据附加的文件名示例 myfilename.png、
使用文件名
现在要删除文件名的依赖性,我将代码更改为以下,
data = new FormData();
data.append("userfile", files[0], upload.png)
所以现在所有复制粘贴图像和拖放图像文件将始终为 upload.png。甚至 blob 也会被命名为 upload.png.
参考--https://developer.mozilla.org/en-US/docs/Web/API/FormData/append
我正在使用带有 PHP 的 summernote 文本编辑器,我可以拖放图像文件 .png、.jpeg 并且可以上传图像并获取返回的图像路径和显示图像。
我确实使用 codeigniter,下面用于图像验证,
$config['upload_path'] = './uploads/parts/';
$config['allowed_types'] = 'gif|jpg|png|jpeg';
$config['max_size'] = '2000';
$config['encrypt_name'] = TRUE;
$config['remove_spaces'] = TRUE;
当我拖放 png 扩展名文件时,它工作得很好,下面是请求负载,预计 运行 因为文件已经有 png 扩展名。
------WebKitFormBoundaryZoezKRGNH5LYW3oL
Content-Disposition: form-data; name="userfile"; filename="2016-06-17_12-53-01.png"
Content-Type: image/png
------WebKitFormBoundaryZoezKRGNH5LYW3oL--
但是当我截取屏幕截图并简单地复制它并粘贴到编辑器中时,它会变成 BLOB 并且我的验证会抛出错误,
------WebKitFormBoundaryagedeUpo2DrEPCbg
Content-Disposition: form-data; name="userfile"; filename="blob"
Content-Type: image/png
------WebKitFormBoundaryagedeUpo2DrEPCbg--
并且因为没有文件扩展名,所以抛出错误The filetype you are attempting to upload is not allowed.
我们如何以 .png 格式发送复制粘贴图像,或者我应该允许哪个扩展名?
谢谢,
转到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'),
If its fail still
echo pathinfo($fileName, PATHINFO_EXTENSION);
and check the extension and to mimes
我确实修改了我上传的JS,
前一个是这样的,
data = new FormData();
data.append("userfile", files[0])
因此,它将根据附加的文件名示例 myfilename.png、
使用文件名现在要删除文件名的依赖性,我将代码更改为以下,
data = new FormData();
data.append("userfile", files[0], upload.png)
所以现在所有复制粘贴图像和拖放图像文件将始终为 upload.png。甚至 blob 也会被命名为 upload.png.
参考--https://developer.mozilla.org/en-US/docs/Web/API/FormData/append