|
@@ -142,7 +142,7 @@ class Attachment
|
|
*/
|
|
*/
|
|
|
|
|
|
|
|
|
|
- public function localUpload($field, $request, $tag = 'files', $size = 10 * 1024 * 1024, array $mimeType = ['image/jpeg', 'image/png', 'image/gif','video/mp4','video/quicktime'])
|
|
|
|
|
|
+ public function localUpload($field, $request, $tag = 'files', $size = 10 * 1024 * 1024, array $mimeType = ['image/jpeg', 'image/png', 'image/gif','video/mp4','video/quicktime','text/plain'])
|
|
{
|
|
{
|
|
|
|
|
|
$tag = $request['folder'];
|
|
$tag = $request['folder'];
|
|
@@ -173,6 +173,7 @@ class Attachment
|
|
return $this->_jsonMessage(500, ['message' => '文件大小超过限制']);
|
|
return $this->_jsonMessage(500, ['message' => '文件大小超过限制']);
|
|
}
|
|
}
|
|
$fileMimeType = $file->getMimeType();
|
|
$fileMimeType = $file->getMimeType();
|
|
|
|
+
|
|
if (!empty($mimeType) && !in_array($fileMimeType, $mimeType)) {
|
|
if (!empty($mimeType) && !in_array($fileMimeType, $mimeType)) {
|
|
return $this->_jsonMessage(500, ['message' => '文件格式不被允许']);
|
|
return $this->_jsonMessage(500, ['message' => '文件格式不被允许']);
|
|
}
|
|
}
|
|
@@ -238,6 +239,87 @@ class Attachment
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ public function fileUpload($field, $request, $tag = 'files', $size = 10 * 1024 * 1024, array $mimeType = ['image/jpeg', 'image/png', 'image/gif','video/mp4','video/quicktime','text/plain']){
|
|
|
|
+ $tag = $request['folder'];
|
|
|
|
+ $class = isset($request['class']) ? $request['class'] : '未分类';
|
|
|
|
+ $sizex = isset($request['sizex']) ? $request['sizex'] : 0;
|
|
|
|
+ $sizey = isset($request['sizey']) ? $request['sizey'] : 0;
|
|
|
|
+ $rel_path = $tag . '/' . date('Ymd');
|
|
|
|
+ $path = public_path() . $rel_path;
|
|
|
|
+ // dd($request);
|
|
|
|
+ if (!file_exists($path)) {
|
|
|
|
+ if (!@mkdir($path, 0755, true)) {
|
|
|
|
+// return ErrorCode::ATTACHMENT_MKDIR_FAILED;
|
|
|
|
+ return $this->_jsonMessage(500, ['message' => '目录创建失败']);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ $file = $request[$field];
|
|
|
|
+ if ($file === null) {
|
|
|
|
+ return $this->_jsonMessage(500, ['message' => '没有文件被上传']);
|
|
|
|
+ }
|
|
|
|
+ if (!$file->isValid()) {
|
|
|
|
+ return $this->_jsonMessage(500, ['message' => '不允许上传']);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ $fileSize = $file->getSize();
|
|
|
|
+ if ($fileSize > $size) {
|
|
|
|
+// $result[$idx] = ErrorCode::ATTACHMENT_SIZE_EXCEEDED;
|
|
|
|
+ return $this->_jsonMessage(500, ['message' => '文件大小超过限制']);
|
|
|
|
+ }
|
|
|
|
+ $fileMimeType = $file->getMimeType();
|
|
|
|
+
|
|
|
|
+ if (!empty($mimeType) && !in_array($fileMimeType, $mimeType)) {
|
|
|
|
+ return $this->_jsonMessage(500, ['message' => '文件格式不被允许']);
|
|
|
|
+ }
|
|
|
|
+ $clientName = $file->getClientOriginalName();
|
|
|
|
+ $md5 = md5($clientName . time());
|
|
|
|
+ $md5_filename = $md5 . '.' . $file->getClientOriginalExtension();
|
|
|
|
+
|
|
|
|
+ if(isset($request['from']) && $request['from'] == 'crop') {
|
|
|
|
+ $clientName = isset($request['name']) ? $request['name'] : '裁剪.png';
|
|
|
|
+ $md5_filename = $md5_filename . 'png';
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ try {
|
|
|
|
+ if(!$file->move($path, $md5_filename)){
|
|
|
|
+ return $this->_jsonMessage(500, ['message' => '上传失败']);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+// $quality = 75;
|
|
|
|
+// $modal = null;
|
|
|
|
+// if(($modal = BaseSettingsModel::where('key', env('PHOTO_COMPRESS_QUALITY_KEY'))->first()) != null) {
|
|
|
|
+// $quality = $modal->value;
|
|
|
|
+// }
|
|
|
|
+
|
|
|
|
+ $real_path = $path . '/' . $md5_filename;
|
|
|
|
+ $url_path = $rel_path . '/' . $md5_filename;
|
|
|
|
+
|
|
|
|
+ $source_info = null;
|
|
|
|
+ if(($source_info = getimagesize($real_path)) != null) {
|
|
|
|
+ $source_width = $source_info[0];
|
|
|
|
+ $source_height = $source_info[1];
|
|
|
|
+ \Log::info('$source_width'.$source_width.'$source_height'.$source_height);
|
|
|
|
+ if($sizex || $sizey){
|
|
|
|
+ if($sizex==0){
|
|
|
|
+ $sizex = $source_width*($sizey/$source_height);
|
|
|
|
+ }
|
|
|
|
+ if($sizey==0){
|
|
|
|
+ $sizey = $source_height*($sizex/$source_width);
|
|
|
|
+ }
|
|
|
|
+ \Log::info('$sizex'.$sizex.'$sizey'.$sizey);
|
|
|
|
+ Image::make($real_path)->resize($sizex, $sizey)->save($real_path);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return $this->_jsonMessage(200, ['message' => "上传成功", 'fileurl' => $url_path,'name'=>$md5_filename]);
|
|
|
|
+
|
|
|
|
+ } catch (FileException $e) {
|
|
|
|
+ return $this->_jsonMessage(500, ['message' => '上传失败']);
|
|
|
|
+// $result = ErrorCode::ATTACHMENT_MOVE_FAILED;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* 删除附件
|
|
* 删除附件
|
|
*
|
|
*
|