当前我在中具有base 64值
$model->test
我想解码控制器中的base 64值,并通过API将其保存到数据库中,这里是我在控制器中的一些代码
我试图解码,无法弄清楚如何将其上传到服务器并创建路径,但我试图将$数据传递到getinstance,这是不工作的
public function doSaveStudent(StudentLoanForm $model)
{
$url = API_URL . 'web/apply/student';
$data1 = $model->test;
$decode = base64_decode($data);
$img = file_put_contents('webcam.jpg', $data);
$model->doUploads();
$ktpdetail = UploadedFile::getInstance($model, 'image_ktp');
$data = null;
$data = [
[
'name' => 'univ_name',
'contents' => $model->univ_name
],
[
'name' => 'test',
'contents' =>$model->test
],
];
// dd($model->test);
if ($ktpdetail != null) {
$data[] = [
'name' => 'image_ktp',
'contents' => fopen(Yii::getAlias('@frontend/web/') . $model->image_ktp, 'r'),
'filename' => $ktpdetail->getBaseName() . '.' . $ktpdetail->getExtension()
];
}
if($ktpayahdetail != null){
$data[] = [
'name' => 'foto_ktp_ayah',
'contents' => fopen(Yii::getAlias('@frontend/web/') . $model->foto_ktp_ayah, 'r'),
'filename' => $ktpayahdetail->getBaseName() . '.' . $ktpayahdetail->getExtension()
];
}
if ($kkdetail != null) {
$data[] = [
'name' => 'image_kk',
'contents' => fopen(Yii::getAlias('@frontend/web/') . $model->image_kk, 'r'),
'filename' => $kkdetail->getBaseName() . '.' . $kkdetail->getExtension()
];
我期望解码base 64并使用yii 2最佳实践上载所有值
1条答案
按热度按时间gwo2fgha1#
yii\web\UploadedFile
仅用于使用表单中的文件输入上载的文件。在您的情况下,
base64_decode($model->test)
应该会给予您图像的二进制数据。然后你有两个选择如何处理它们。
1)您可以将它们直接存储到数据库中的BLOB属性中。
2)您可以使用
file_put_contents
保存档案,然后将档案的路径储存在模型中。