【问题标题】:OctoberCMS frontend image upload十月CMS前端图片上传
【发布时间】:2017-02-27 10:45:39
【问题描述】:

我正在尝试在 OctoberCMS 的前端上传个人资料 phoho,但没有成功。

无法在后端捕获它以保存在用户中。

使所有内容都与 CMS 文档中的内容完全相同。

需要在没有任何永恒插件的情况下完成这项工作。

<form data-request="onCreateUser" data-request-update="user:'.res_user'" >

  <input name="file_input" type="file" >
  <button type="submit" class="subBtn">Create User</button>

</form>

在我拥有的用户中:

public $attachOne = [
  'avatar' => 'System\Models\File'
];

还有这段代码:

$file = new System\Models\File;
$file->data = Input::file('file_input');
$file->is_public = true;
$file->save();

$model->avatar()->add($file);

记录存储在数据库中,但它是空的。文件大小 = 0

谁能帮我解决这个问题? 问了大哥,发现这个问题很常见,无解。

谢谢

更新:

这是有效的,当我使用它时:

{{ form_open({files: true, request: 'onCreateConcert'}) }} 
 <!--File Input--> 
 <input type="file" name="file-upload"  required="required"> 
 <!--File Input--> 
 <!--Submit/Upload Button--> 
 <button type="submit">Upload</button> 
 {{ form_close() }}

但不是我的表格。我在这里缺少什么?

我也添加了 token 和 session_key

{{ form_sessionKey() }}
    {{ form_token() }}

【问题讨论】:

  • 试试这样的 Input::file('photo')->move($destinationPath);输入::file('photo')->move($destinationPath, $fileName);
  • 另外,如果您可以通过在这里回答我的问题来帮助我stackoverflow.com/questions/40124069/…,这将是很大的帮助,因为我是 OctoberCMS 的新手。谢谢
  • 到目前为止,问题出在 octobers 框架上。不支持XHR 需要自己做或者用我们的AJAX,或者为此做js

标签: file-upload content-management-system frontend backend octobercms


【解决方案1】:

试试这个:

use System\Models\File;
use Input;

[...]

if (Input::file("file_input")) {
    $model->avatar = Input::file("file_input");
}
model->save();

【讨论】:

  • 添加:enctype="multipart/form-数据”形成
【解决方案2】:

这是因为您没有将enctype="multipart/form-data" 添加到您的表单属性中。

当您使用像{{ form_open({files: true, request: 'onCreateConcert'}) }} 这样的树枝时,files: true 将向您的表单添加属性以处理上传文件。所以上面的树枝会生成如下标签,

<form data-request="onCreateConcert" enctype="multipart/form-data">

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-09-11
    • 2017-11-06
    • 1970-01-01
    • 1970-01-01
    • 2015-09-05
    • 1970-01-01
    • 2018-02-28
    • 1970-01-01
    相关资源
    最近更新 更多