我是laravel的新手,请尝试加密上传的文件。这是我的控制器:
if ($file != null && !empty($file))
{
$userfile = DNEUser::find($lastUserId);
$user_store_pic = $request->file('user_store_pic');
$fileContent = $user_store_pic->get();
$encryptedContent = encrypt($fileContent);
$s3 = \Storage::disk('uploads');
//$array=explode(" ",$encryptedContent);
$user_store_pic_name = $lastUserId.'_'.time().'.' .$encryptedContent->getClientOriginalExtension();
$filePath = 'store/'.$user_store_pic_name;
$s3->put($filePath, file_get_contents($encryptedContent));
$userStorePicName = $filePath;
$userfile->user_store_pic = $userStorePicName;
$userfile->save();
}
我正在尝试按照https://stefanzweifel.io/posts/how-to-encrypt-file-uploads-with-laravel/
加密文件但是提交表单时出现错误:
“ ymfony \组件\调试\异常\ FatalThrowableError (E_ERROR)调用成员函数getClientOriginalExtension() 字符串”
我尝试使用explode转换为数组,但它对数组显示相同的错误:
“在数组上调用成员函数getClientOriginalExtension()”
答案 0 :(得分:0)
您必须使用$user_store_pic->getClientOriginalExtension();
代替$encryptedContent->getClientOriginalExtension()
这可能会对您有所帮助。
答案 1 :(得分:0)
替换此
if ($file != null && !empty($file))
{
$userfile = DNEUser::find($lastUserId);
$user_store_pic = $request->file('user_store_pic');
$fileContent = $user_store_pic->get();
$encryptedContent = encrypt($fileContent);
$s3 = \Storage::disk('uploads');
//$array=explode(" ",$encryptedContent);
$user_store_pic_name = $lastUserId.'_'.time().'.' .$user_store_pic->getClientOriginalExtension();
$filePath = 'store/'.$user_store_pic_name;
$s3->put($filePath, $encryptedContent);
$userStorePicName = $filePath;
$userfile->user_store_pic = $userStorePicName;
$userfile->save();
}