/**
  * Updates the specified issue attachment.
  *
  * @param AttachmentRequest $request
  * @param int|string        $issueId
  * @param string            $fileUuid
  *
  * @return \Illuminate\Http\RedirectResponse
  */
 public function update(AttachmentRequest $request, $issueId, $fileUuid)
 {
     $issue = $this->issue->findOrFail($issueId);
     $this->authorize($issue);
     $file = $issue->findFile($fileUuid);
     if ($request->persist($file)) {
         flash()->success('Success!', 'Successfully updated attachment.');
         return redirect()->route('issues.attachments.show', [$issueId, $fileUuid]);
     }
     flash()->error('Error!', 'There was an issue updating this attachment. Please try again.');
     return redirect()->route('issues.attachments.edit', [$issueId, $fileUuid]);
 }
Example #2
0
 /**
  * Uploads and attaches files for the current relation.
  *
  * @param Filesystem $filesystem
  *
  * @return bool|array
  */
 public function handle(Filesystem $filesystem)
 {
     $files = $this->request->file('files');
     if (is_array($files)) {
         $uploaded = [];
         foreach ($files as $file) {
             // Double check that we have an uploaded file instance.
             if ($file instanceof UploadedFile) {
                 // Generates the unique file name.
                 $name = implode('.', [uuid(), $file->getClientOriginalExtension()]);
                 // Generates the complete storage path.
                 $path = implode(DIRECTORY_SEPARATOR, [$this->path, $name]);
                 // Try and move the uploaded file into storage.
                 if ($filesystem->put($path, file_get_contents($file->getRealPath()))) {
                     // Successfully moved uploaded file, create the record.
                     $attributes = ['user_id' => auth()->id(), 'name' => $file->getClientOriginalName(), 'file_name' => $name, 'file_path' => $path];
                     $uploaded[] = $this->relation->create($attributes);
                 }
             }
         }
         return $uploaded;
     }
     return false;
 }
 public function store(AttachmentRequest $request)
 {
     //上传目录
     $filePath = '/uploads/' . $request->get('class') . '/' . $request->get('type') . '/' . date("Ymd") . '/';
     $info['result'] = false;
     //Plupload上传
     if ($request->hasFile('file')) {
         $info = self::plupload($filePath);
     }
     //Uploader上传
     if ($request->hasFile('upfile')) {
         $info = self::uploader();
     }
     //附件入库
     if ($info['result']) {
         $attachment = Attachment::create(['url' => $info['file'], 'name' => '', 'thumb' => $info['thumb'], 'sort' => 0, 'is_recommend' => 0, 'is_show' => 0, 'is_cover' => 0, 'type' => $info['type'], 'attr' => $request->get('class'), 'hash' => $request->get('hash'), 'project_id' => 0]);
         if ($request->get('type') == 'cover') {
             Attachment::where('hash', $attachment->hash)->update(['is_cover' => 0]);
             Attachment::find($attachment->id)->update(['is_cover' => 1]);
         }
     }
     return $info;
 }
 public function store(AttachmentRequest $request, Attachment $attachment)
 {
     if (!Helper::getMode()) {
         return redirect()->back()->withErrors(config('constants.DISABLE_MESSAGE'));
     }
     $filename = uniqid();
     $data = $request->all();
     if ($request->hasFile('file')) {
         $extension = $request->file('file')->getClientOriginalExtension();
         $file = $request->file('file')->move('uploads/attachment_files/', $filename . "." . $extension);
         $data['file'] = $filename . "." . $extension;
     }
     $data['user_id'] = Auth::user()->id;
     $attachment->fill($data);
     $attachment->save();
     $activity = 'Attached a file on a ' . $request->input('belongs_to');
     Activity::log($activity);
     return redirect()->back()->withSuccess(config('constants.SAVED'));
 }