1

我正在构建一个 Octobercms 插件。我已经创建了表单,但我还想在表单中上传图片。

我将模式链接到输入文本框,以便我可以浏览和上传图像。但问题是我尝试总是得到 404 错误。

我在http://www.domain.com/admin/author-name/plugin-nam/plugin-name/create上创建新内容。网址工作正常,见表格。

但是我的模式在http://www.domain.com/plugins/author-name/plugin-name/app/image-manager/image.php上调用了一个 php 脚本,然后我得到一个 404 错误。

我猜我必须设置一些东西routes.php,但我不知道我必须设置什么,因为我有Route::get('*/file-manager/image.php''author-name\plug-name\app\file-manager\image.php');

4

1 回答 1

1

您可以使用 AJAX 框架来实现这一点。尝试使用部分 _image.htm,而不是调用脚本。在表单属性中使用 data-request="onImageUpload" data-request-update="'image': '#image'" 并在 create.htm 中使用 makePartial('image', ['image' => $image] ) ?>

在控制器的构造函数中为 $image 创建一个变量,并最初将其设置为 null。创建一个 onImageUpload() 函数,其中包含图像上传代码,并将此变量设置为上传图像的路径。因此,现在当您上传图像时,它不仅会执行您在 onImageUpload() 内部的 image.php 中使用的任何自定义代码,而不是拥有单独的文件 image.php,而且还会在加载时更新图像。

部分 _image.htm 的代码应为

{% if image %}
    <img src="{{image}}" />
{% endif %}

create.htm 应该有

<div id="image">{{ "{% partial \"image\" %}" }}</div>

就在您希望图像出现的位置

于 2015-03-22T16:43:52.543 回答