/**
* 添加商品API
* @access public
* @author xiaohei
* @param name 商品名称
* @param num 商品货号
* @param store_id 商店id
* @param goods_type_id 商品分类id
* @param goods_sorts_id 店铺街分类id
* @param goods_brand_id 商品品牌id
* @param shop_price 本店售价
* @param limit_num 限购数量
* @param on_self 是否上架
* @param is_quality 是否精品
* @param is_new 是否新品
* @param is_hot 是否热销
* @param stock 库存
* @param label 标签
* @param weight 商品重量
* @param goods_describe 商品描述
* @param image_thumbnail 商品缩略图图片
* @param image 商品图片
* @return array
* @date 2018-10-5
***/
public function addGoods(Request $request){
$valid = Validator::make($request->all(), [
'name' => 'required|string',
'num' => 'required|string',
'store_id' => 'required|string',
'goods_type_id' => 'required|string',
'goods_sorts_id' => 'required|string',
'goods_brand_id' => 'required|string',
'shop_price' => 'required|string',
'limit_num' => 'required|integer',
'on_self' => 'required|boolean',
'is_quality' => 'required|is_quality',
'is_new' => 'required|is_new',
'is_hot' => 'required|is_hot',
'stock' => 'required|string',
'label' => 'required|string',
'weight' => 'required',
'goods_describe' => 'required|string',
'image_thumbnail' => 'required|image',
'image' => 'required|image',
]);
if ($valid->fails()) {
return array(
'code' => ExceptionErrorCode::CODEMUST,
'massage' => $valid->errors()->first(),
'data' => $valid->errors()->first()
);
}
$fileTypes = ['image/png', 'image/jpg', 'image/jpeg'];
if ($request->file('image_thumbnail')->isValid()&&$request->file('image')->isValid()){ //判断上传文件是否存在
if (in_array($request->file('image_thumbnail')->getMimeType(), $fileTypes)&&in_array($request->file('image')->getMimeType(), $fileTypes)){ //判断上传格式是否正确
$image_thumbnail = $request->file('image_thumbnail')->store('/public/image/goods_image_thumbnail'); //上传商品缩略图
$image_thumbnail = str_replace('public', '/storage', $image_thumbnail);
$image = $request->file('image')->store('/public/image/goods_image'); //上传商品图片
$image = str_replace('public', '/storage', $image);
try{
$result = Commoditys::create([
'name' =>$request->name,
'num' =>$request->num,
'store_id' =>$request->store_id,
'goods_sorts_id' =>$request->goods_sorts_id,
'goods_brand_id' =>$request->goods_brand_id,
'shop_price' =>$request->shop_price,
'market_price' =>$request->market_price,
'stock' =>$request->stock,
'label' =>$request->label,
'image_thumbnail' =>$image_thumbnail,
'image' =>$image,
])->toArray();
}
catch (\Exception $e) {
throwCustomException(ExceptionErrorCode::DATA_CREATE_FAILED); //插入数据库失败
}
return responseMessage([],ExceptionErrorCode::OPERATOR_OK); //添加成功
}
else{
throwCustomException(ExceptionErrorCode::IMAGE_FORMAT_IS_NOT_CORRECT); //图片格式不正确
}
}else{
throwCustomException(ExceptionErrorCode::IMAGE_FORMAT_EFFICACY); //图片无效
}
}
PS:laravel图片上传默认路径为: 项目名\storage\app\public
而外部无法访问storage目录,外部实际访问目录为 --》项目名\public\storage...
应该创建一个 public/storage 的软链接指向这个目录。你可以直接通过 php artisan storage:link 命令来创建此链接。

被折叠的 条评论
为什么被折叠?



