嗯,实际上我想在我选择列表中的某个客户端并且他想要使用dropzone上传图像时直接进行操作,所以如果他没有目录那么make或者如果存在将图像保存在自己的目录中,那就很好了现在我将图像上传到一个目录,但我想为每个用户创建一个,这是我的存储方法,我真的很新就这件事抱歉。
非常感谢你的帮助。
public function store(Storage $storage, Request $request)
{
if ($request->isXmlHttpRequest()) {
$file = $request->file('file');
$timestamp = $this->getFormattedTimestamp();
$savedImgName = $this->getSavedImageName($file, $timestamp);
$imageUploaded = $this->uploadImage($file, $savedImgName, $storage); * /
if ($imageUploaded) {
$data = [
'original_path' => asset('/uploads/'.$savedImgName)
];
return json_encode($data, JSON_UNESCAPED_SLASHES);
}
return "uploading failed";
}
}
public function uploadImage($file, $imageFullName, $storage)
{
$filesystem = new Filesystem;
return $storage->disk('file')->put($imageFullName, $filesystem->get($file));
}
protected function getFormattedTimestamp()
{
return str_replace([' ', ':'], '-', Carbon::now()->toDateTimeString());
}
protected function getSavedImageName($file, $timestamp)
{
return $timestamp.'-'.$file->getClientOriginalName();
}
答案 0 :(得分:0)
在上传图像之前,您可以调用另一个方法来检查目录是否存在,如果不存在则返回路径。
while (GetMessage(&msg, NULL, 0, 0)) {
TranslateMessage(&msg);
DispatchMessage(&msg);
}
如果由于某种原因无法创建目录,您可能希望处理public function storageDirectory()
{
$user_id = \Auth::user()->id;
$user_dir = '/uploads/' . $user_id . '/';
if ( ! $storage->disk('file')->exists($user_dir) ) {
$storage->disk('file')->makeDirectory($user_dir);
}
return $user_dir;
}
可能抛出的任何异常。