gpt4 book ai didi

php - Laravel 5 图片上传不正确的数据库路径

转载 作者:搜寻专家 更新时间:2023-10-31 20:37:54 26 4
gpt4 key购买 nike

我的图片上传输入一直有问题。我正在尝试创建一个文件上传输入到我的 Laravel 5 项目中,但我遇到了保存到数据库图像表中的路径问题。

表单正在工作并且正在发布,但是,当数据库保存它正在输入的图像的路径时:/Applications/MAMP/tmp/php/phptvwTYW 而不是只获取文件名.

此外,该文件正在移动到正确的 public/img 文件夹。

代码

public function store(PostRequest $request)
{
$this->createPost($request);

$destinationpath = public_path() . '/img/';

$filename = $request->file('image_url')->getClientOriginalName();

$request->file('image_url')->move( $destinationpath,$filename );

flash()->success('Your Post Has Been Created!');

return redirect('posts');
}

最佳答案

这是我的项目中当前使用的示例 Controller 函数

public function postCreateInternal(CreateDocumentInternalRequest $request) {
$data_information = $request->only(['title', 'assigned_to', 'folder_id', 'document_source']);
if ($request->hasFile('file_name') && $request->file('file_name')->isValid()) {
$document = $request->file('file_name');
#creating file Name
$mytime = Carbon::now();
$date_now = $mytime->toDateTimeString();
$date_now = $this->prepareFileNameString($date_now);
$document_extension = $document->getClientOriginalExtension();

$document_name = $this->prepareFileNameString(basename($document->getClientOriginalName(), '.' . $document_extension));
$document_fullName = $document_name . "_" . ($date_now) . "." . $document_extension;
$data_information['file_type'] = $document->getMimeType();
$data_information['file_size'] = $document->getSize();
$data_information['file_name'] = $document_fullName;
$data_information['file_download_type'] = "Internal";
$document->move(public_path() . '/uploads/documents/', $document_fullName);
}
if ($pot = $this->document->create($data_information)) {
$this->notification_admin->sendCreateDocument($data_information);
return redirect()->route('documents')->with('success', trans('document.create.msg_success'));
// return redirect()->route('update/document', $pot->id)->with('success', trans('document.create.msg_success'));
}
return redirect()->route('create/document')->with('error', trans('document.msg_error'));
}

CreateDocumentInternalRequest 根据 Laravel 5 基本上用于文件和其他数据验证

View File 似乎喜欢:

{!! Form::open(["class"=>"form-horizontal","data-parsley-validate"=>"data-parsley-validate",'role'=>'form','files'=>true]) !!}
<div class="form-group required {{ $errors->first('file_name', ' has-error') }}">
{!!Form::label('file_name', trans('document.label.file_name'), array('class' => 'col-md-4 control-label left-label'))!!}
<div class="col-sm-6">
{!! Form::file('file_name') !!}
{!! $errors->first('file_name', '<span class="help-block">:message</span>') !!}
</div>
</div>
{!! Form::close() !!}

在我当前的实现中,首先我正在检查上传的文件,使用当前时间戳重命名文件名并重新上传我想要的位置。如果您需要我提供的方法的任何帮助,请告诉我以更好的方式进行改进。

关于php - Laravel 5 图片上传不正确的数据库路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30720063/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com