参照上传接口文档
请求地址
POST /logo
需进行token认证
示例: http://adminapi.tbyue.com/logo
请求参数
名称 | 类型 | 必填 | 备注 |
---|---|---|---|
type | string | 是 | 图片类型。商品:goods;分类:category;品牌:brand |
logo | file | 是 | logo文件 |
返回数据
logo文件访问路径
返回示例
"/uploads/goods/20190530/adsdsfsgsds.png"
单文件上传
postman测试
书写上传逻辑
public function index(Request $request)
{
// 接收上传的类型
$type=$request->post('type');
// 接收文件上传
$files = $request->file();
// 设定文件上传的大小
$fileSize=1024*1024*2;
try {
// 验证文件上传的大小、后缀
validate(['logo'=>'fileSize:'.$fileSize.'|fileExt:jpg,png'])
->check($files);
$file = request()->file('logo');
// 将图片保存至本地
$savename= \think\facade\Filesystem::putFile($type,$file);
// 将文件上传的路径返回
return json([
'code'=>200,
'msg'=>'上传单个',
'data'=>'uploads/'.$savename,
]);
} catch (\think\exception\ValidateException $e) {
//错误返回提示信息
return json([
'code'=>200,
'msg'=>$e->getMessage(),
'data'=>[],
]);
}
}
商品相册上传接口(多图上传)
参照接口文档
请求地址
POST /images
需进行token认证
示例: http://adminapi.tbyue.com/images
请求参数
名称 | 类型 | 必填 | 备注 |
---|---|---|---|
type | string | 否 | 图片类型。默认为商品:goods |
images | string | 是 | 图片文件 |
返回数据
名称 | 备注 |
---|---|
success | 上传成功的图片地址集合 |
error | 上传成功的图片名称和错误信息集合 |
返回示例
{
“success”:[
"/uploads/goods/20190530/dsgdsafdsfds.png",
"/uploads/goods/20190530/dsfdsdgfdasd.png",
],
"error":[
{
"name":"1.png",
"msg":"图片尺寸错误"
},
{
"name":"2.png",
"msg":"图片类型错误"
}
]
}
postman测试
书写上传逻辑
public function save(Request $request)
{
// 接收上传的类型
$type = $request->post("type", "goods");
// 接收文件上传
$file = $request->file("images");
// 设定文件上传的大小
$fileSize = 1024*1024*2;
// 存储上传失败的信息
$error = [];
// 存储上传成功的信息
$success = [];
// 循环批量验证
foreach ($file as $val) {
// 捕获异常
try {
// 验证文件大小、后缀
validate(['images' => 'fileSize:' . $fileSize . '|fileExt:jpg'])
->check(['images' => $val]);
// 上传文件
$saveName = Filesystem::putFile($type, $val);
// 将成功后的路径保存到数组中
$success[] = 'uploads/' . $saveName;
} catch (ValidateException $e) {
// 记录验证错误的失败信息
$error[]= [
'name' => $val->getOriginalName(),
'msg' => $e->getMessage()
];
}
}
// 组装返回数据的结果集
$data = [
'success' => $success,
'error' => $error
];
// 返回数据
return json($data);
}