【发布时间】:2015-04-10 09:46:48
【问题描述】:
我创建了一个表单,用户可以在其中添加新闻,并且我希望他们也能够上传图片。我也尝试过阅读其他用户创建上传表单的内容,但无法理解。 上传的图片需要在我创建的数据库中存储图片路径和所有其他信息。 这样做的原因是我想稍后显示用户创建的新闻和图片,以便可以查看。 所以我需要一些帮助,因为我不太明白如何做到这一点,而且我是 laravel 的初学者。我不想使用任何 .js 或其他脚本,因为我想先学习这些基础知识。
我的数据库:
class NyhetsmodulTable extends Migration {
public function up()
{
Schema::create('news', function($table)
{
$table->increments('id');
$table->string('title');
$table->string('author');
$table->string('message');
$table->boolean('active');
$table->timestamps();
$table->string('picture_path');
});
}
我的 create.plade.php 文件(不确定我的文件格式是否正确):
{{ Form::open(array('route' => 'adminpanel.newsmodule.store', 'files' => true)) }}
<ul>
<li>
{{ Form:: label ('title', 'Title: ' )}}
{{ Form:: text ('title')}}
</li>
<li>
{{ Form:: label ('author', 'Author: ' )}}
{{ Form:: text ('author')}}
</li>
<li>
{{ Form:: label ('message', 'News: ' )}}
{{ Form:: textarea ('message') }}
</li>
<li>
{{ Form::file('image')}}
</li>
<li>
</li>
<li>
{{ Form::submit('Submit') }}
</li>
</ul>
我的控制器,我不明白如何设置:
public function uploadFile()
{
}
我的路线:
Route::post('adminpanel/newsmodule/create',
[
'uses' => 'NyhetsController@uploadFile',
'as' => 'adminpanel.newsmodule.upload'
]
);
【问题讨论】:
-
您不能(不应该)真正将表单嵌入到 HTML 的表单中。如果您的计划是使用 AJAX 在后台上传文件,那么您可能会侥幸成功,只要 AJAX 请求的隐藏输入的结果是外部形式的一部分,而不是内部形式,否则其内容可能不会提交到正确的地方。但是,是的,如果您只是希望表单中的表单能够神奇地工作,那么它不会。 HTML 只是不能那样工作。只需像普通输入一样在外部表单中包含文件输入,它就会起作用(但请确保在外部表单上使用
'files' => true)。
标签: php database laravel image-uploading