如何在更新形式的yii2 kartik多文件上传中查看图像和pdf文件预览
How to view image and pdf files preview in yii2 kartik multiple file upload in update form
下面是 update_form 中的 kartik 文件输入小部件。
echo FileInput::widget(
[
'name' => 'BriefRequirements[requirement_value][]',
'attribute' => 'assets_file',
'id' => 'assets_file',
'options' => ['multiple' => true],
'pluginOptions' => [
'overwriteInitial' => false,
'initialPreview' => $image_url,
'deleteUrl' => ' site/delete',
'initialPreviewAsData' => true,
'initialPreviewFileType' => 'image' //'pdf'
]
]
);
下面是多图加载代码,
foreach ($modelRequirements as $req) {
$image_url[] = Yii::$app->request->baseUrl
. '/theme/business_campaign_files/'
. $req['requirement_value'];
}
我的两个问题需要帮助:
需要显示所有选定的格式文件,如图像、pdf、doc 等[我试着喜欢 'initialPreviewFileType'=>'any'
] 不工作。
我想将选中的图片id传给删除图片的action? - 'deleteUrl' => ' site/delete'
,'id'=>12
, <-- 像这样。
在下面的代码中,我得到了我的两个问题的结果。
$initializeConfig = [];
$initializeConfig1 = [];
if ($modelRequirements) {
foreach ($modelRequirements as $req) {
$extension = substr(
$req['requirement_value'],
strrpos($req['requirement_value'], '.') + 1
);
$image_url[] = Yii::$app->request->baseUrl
. '/theme/business_campaign_files/'
. $req['requirement_value'];
$initializeConfig1['url'] = Url::toRoute('delete-requirement');
$initializeConfig1['key'] = $req['id'];
$initializeConfig1['type'] = $type;
array_push($initializeConfig, $initializeConfig1);
}
}
在上面的代码中,我得到了我的两个问题的结果。
对于删除->提到url我写了删除函数,也是通过关键参数我传递了id。
为了查看您必须发送的所有扩展文件,例如 "type" $initializeConfig1['type'] = $type;
在类型变量中,我正在根据正在设置格式的扩展名获取图像扩展名文件 like[pdf,xlsx,image]
。
easyOne
管理预览的各种方法。本示例演示了以下功能:
对于单张图片,您可以将其设为多张 与
$files = array();
$files['initialPreview'] = Url::base(TRUE) . '/' . $uploadurl . $newFileName;
$files['initialPreviewAsData'] = true;
//FOR PDF
if ($fieldtype == 'pdf') {
$files['initialPreviewConfig'][] = array('type' => 'pdf', 'key' => $newFileName);
} else {
//FOR IMAGES
$files['initialPreviewConfig']['key'] = $newFileName;
}
$files['namefile'] = $newFileName;
JSON 响应:
{
"initialPreview": "http://localhost/yii2/uploads/project/brochure/fileone.pdf",
"initialPreviewAsData": true,
"initialPreviewConfig": [
{
"type": "pdf",
"key": "fileone.pdf"
}
],
"namefile": "fileone.pdf"
}
下面是 update_form 中的 kartik 文件输入小部件。
echo FileInput::widget(
[
'name' => 'BriefRequirements[requirement_value][]',
'attribute' => 'assets_file',
'id' => 'assets_file',
'options' => ['multiple' => true],
'pluginOptions' => [
'overwriteInitial' => false,
'initialPreview' => $image_url,
'deleteUrl' => ' site/delete',
'initialPreviewAsData' => true,
'initialPreviewFileType' => 'image' //'pdf'
]
]
);
下面是多图加载代码,
foreach ($modelRequirements as $req) {
$image_url[] = Yii::$app->request->baseUrl
. '/theme/business_campaign_files/'
. $req['requirement_value'];
}
我的两个问题需要帮助:
需要显示所有选定的格式文件,如图像、pdf、doc 等[我试着喜欢
'initialPreviewFileType'=>'any'
] 不工作。我想将选中的图片id传给删除图片的action? -
'deleteUrl' => ' site/delete'
,'id'=>12
, <-- 像这样。
在下面的代码中,我得到了我的两个问题的结果。
$initializeConfig = [];
$initializeConfig1 = [];
if ($modelRequirements) {
foreach ($modelRequirements as $req) {
$extension = substr(
$req['requirement_value'],
strrpos($req['requirement_value'], '.') + 1
);
$image_url[] = Yii::$app->request->baseUrl
. '/theme/business_campaign_files/'
. $req['requirement_value'];
$initializeConfig1['url'] = Url::toRoute('delete-requirement');
$initializeConfig1['key'] = $req['id'];
$initializeConfig1['type'] = $type;
array_push($initializeConfig, $initializeConfig1);
}
}
在上面的代码中,我得到了我的两个问题的结果。
对于删除->提到url我写了删除函数,也是通过关键参数我传递了id。
为了查看您必须发送的所有扩展文件,例如 "type"
$initializeConfig1['type'] = $type;
在类型变量中,我正在根据正在设置格式的扩展名获取图像扩展名文件like[pdf,xlsx,image]
。
easyOne
管理预览的各种方法。本示例演示了以下功能: 对于单张图片,您可以将其设为多张 与
$files = array();
$files['initialPreview'] = Url::base(TRUE) . '/' . $uploadurl . $newFileName;
$files['initialPreviewAsData'] = true;
//FOR PDF
if ($fieldtype == 'pdf') {
$files['initialPreviewConfig'][] = array('type' => 'pdf', 'key' => $newFileName);
} else {
//FOR IMAGES
$files['initialPreviewConfig']['key'] = $newFileName;
}
$files['namefile'] = $newFileName;
JSON 响应:
{
"initialPreview": "http://localhost/yii2/uploads/project/brochure/fileone.pdf",
"initialPreviewAsData": true,
"initialPreviewConfig": [
{
"type": "pdf",
"key": "fileone.pdf"
}
],
"namefile": "fileone.pdf"
}