请教LARAVEL6 上传文件使用Storage门面的putFile put方法保存文件时,文件后缀与源文件不匹配的问题
<?php
return [
'disks' => [
//...
'oss' => [
'driver' => 'oss',
'root' => 'qsmile', // 设置上传时根前缀
'access_key' => env('OSS_ACCESS_KEY','**********'),
'secret_key' => env('OSS_SECRET_KEY','**********'),
'endpoint' => env('OSS_ENDPOINT','http://oss-cn-hangzhou.aliyuncs.com'), // 使用 ssl 这里设置如: https://oss-cn-beijing.aliyuncs.com
'bucket' => env('OSS_BUCKET','qsmile'),
'isCName' => env('OSS_IS_CNAME', false), // 如果 isCname 为 false,endpoint 应配置 oss 提供的域名如:`oss-cn-beijing.aliyuncs.com`,否则为自定义域名,,cname 或 cdn 请自行到阿里 oss 后台配置并绑定 bucket
// 如果有更多的 bucket 需要切换,就添加所有bucket,默认的 bucket 填写到上面,不要加到 buckets 中
'buckets'=>[
'test'=>[
'access_key' => env('OSS_ACCESS_KEY'),
'secret_key' => env('OSS_SECRET_KEY'),
'bucket' => env('OSS_TEST_BUCKET'),
'endpoint' => env('OSS_TEST_ENDPOINT'),
'isCName' => env('OSS_TEST_IS_CNAME', false),
],
//...
],
],
//...
]
];
<form method='post' action='{{route("admin.file.up")}}' enctype='multipart/form-data'>
@csrf
<div class="form-group row">
<label class="col-2 col-form-label">选择文件</label>
<div class="col-10">
<input type="file" class="form-control-file" name=filename />
@error('filename')
<small class="form-text text-danger">{{$message}}</small>
@else
<small class="form-text text-muted">请上传扫描3D文件stl格式,核对好时间版本、用户名</small>
@enderror
</div>
</div>
<div class="form-group row">
<div class='offset-2'></div>
<div class="col-10">
<button type="submit" class="btn btn-primary">提交</button>
上传代码:
$file=$request->file('filename');
$disk = Storage::disk('oss');
$disk->put('baochiqi',$file);
正在学习中的,谢谢~
之前练习的时候用这个方法可以实现上传的,上传到服务器也是原文件。
今天在另一个练习里边,上传doc文件,到了OSS那里就成了txt了。但是奇怪的时候,我上传jpg 或是els文件,OSS里边又是正常的原文件。
现在的问题就是上传文件,部分自动变更了后缀名,请教大家,谢谢!
推荐文章: