Przeglądaj źródła

修复文件上传字段名称为file时编辑异常问题

jqh 5 lat temu
rodzic
commit
7e32036384

+ 2 - 1
src/Form/Concerns/HasFiles.php

@@ -5,6 +5,7 @@ namespace Dcat\Admin\Form\Concerns;
 use Dcat\Admin\Contracts\UploadField as UploadFieldInterface;
 use Dcat\Admin\Form\Builder;
 use Dcat\Admin\Form\Field;
+use Dcat\Admin\Support\WebUploader;
 use Symfony\Component\HttpFoundation\File\UploadedFile;
 use Symfony\Component\HttpFoundation\Response;
 
@@ -21,7 +22,7 @@ trait HasFiles
     protected function handleUploadFile($data)
     {
         $column = $data['upload_column'] ?? null;
-        $file = app('admin.web-uploader')->getCompleteUploadedFile() ?: ($data['file'] ?? null);
+        $file = app('admin.web-uploader')->getCompleteUploadedFile() ?: ($data[WebUploader::FILE_NAME] ?? null);
 
         if (! $column || ! $file instanceof UploadedFile) {
             return;

+ 1 - 0
src/Form/Field/File.php

@@ -212,6 +212,7 @@ class File extends Field implements UploadFieldInterface
         opts.upload = $.extend({
             pick: {
                 id: '#{$this->containerId} .file-picker',
+                name: '_file_',
                 label: '<i class="feather icon-folder"></i>&nbsp; {$newButton}'
             },
             dnd: '#{$this->containerId} .dnd-area',

+ 3 - 0
src/Form/Field/WebUploader.php

@@ -2,6 +2,7 @@
 
 namespace Dcat\Admin\Form\Field;
 
+use Dcat\Admin\Support\WebUploader as WebUploaderHelper;
 use Dcat\Admin\Form;
 use Illuminate\Support\Facades\URL;
 use Illuminate\Support\Str;
@@ -146,6 +147,8 @@ trait WebUploader
     protected function setupDefaultOptions()
     {
         $defaultOptions = [
+            'name'                => WebUploaderHelper::FILE_NAME,
+            'fileVal'             => WebUploaderHelper::FILE_NAME,
             'isImage'             => false,
             'disableRemove'       => false,
             'chunked'             => true,

+ 3 - 1
src/Support/WebUploader.php

@@ -17,6 +17,8 @@ use Symfony\Component\HttpFoundation\File\UploadedFile;
  */
 class WebUploader
 {
+    const FILE_NAME = '_file_';
+
     public $tempDirectory = 'tmp';
 
     protected $tempFilePath;
@@ -31,7 +33,7 @@ class WebUploader
         $this->chunk = $request->get('chunk');
         $this->chunks = $request->get('chunks');
         $this->upload_column = $request->get('upload_column');
-        $this->file = $request->file('file');
+        $this->file = $request->file(static::FILE_NAME);
     }
 
     /**