我将png
图片保存到数据库中的BLOB
字段。
$model->content = \yii\web\UploadedFile::getInstanceByName($fileName);
$model->save();
我现在如何下载?我试过了:
$model=$this->findModel($id);
header('Content-length: 362654');
header('Content-Type: png');
header('Content-Disposition: attachment; filename='.$model->name_);
echo $model->content;
但在此之后文件被下载但是大小为1 kb而不是362654.文件中没有任何内容。
答案 0 :(得分:0)
我找到了解决方案。 只需一个:
$model->content = \yii\web\UploadedFile::getInstanceByName($fileName);
无法保存文件内容,因为getInstanceByName
不会返回它。为了获取内容并将其保存在db
BLOB
字段中,我使用了以下代码:
$file = \yii\web\UploadedFile::getInstanceByName($fileName);
$fp = fopen($file->tempName, 'r');
$content = fread($fp, $file->size);
fclose($fp);
$model->content = $content;
$model->save();
所以问题是保存文件不正确。