使用rest cakephp3和angularjs上传图片
我有一个带有plugen使用rest cakephp3和angularjs上传图片,php,angularjs,cakephp,Php,Angularjs,Cakephp,我有一个带有plugenng文件上传的表单,但是当我将图片发送到后端时,没有收到任何东西。我真正需要的是在数据库中存储图像的路径,我还需要将图像上传到本地服务器。但这仍然是不可能的 <form id="docsForm" class="form-horizontal" name="docsForm" enctype="multipart/form-data" ng-submit="submitDocsForm()" novalidate> <div cl
ng文件上传的表单,但是当我将图片发送到后端时,没有收到任何东西。我真正需要的是在数据库中存储图像的路径,我还需要将图像上传到本地服务器。但这仍然是不可能的
<form id="docsForm" class="form-horizontal" name="docsForm" enctype="multipart/form-data" ng-submit="submitDocsForm()" novalidate>
<div class="form-group">
<label for="photo_document" class="col-sm-2 control-label">
Documento escaneado:
</label>
<div class="col-sm-8">
<input class="form-control" type="file"
ng-model="vm.photo_document"
id="photo_document"
name="photo_document"
accept="image/*"
ngf-select ng-model="photo_document"
ngf-model-invalid="errorFile" required>
</div>
</div>
<div class="form-group">
<label for="descripcion" class="col-sm-2 control-label">
Descripcion:
</label>
<div class="col-sm-8">
<input class="form-control" type="text" ng-model="descripcion" id="descripcion" required>
</div>
</div>
<div class="divider"></div>
<div class="form-group">
<input type="hidden" name="superhidden" id="superhidden">
<div class="col-sm-offset-2 col-sm-8">
<button type="submit" class="btn btn-lg btn-primary">
Agregar
</button>
</div>
</div>
<span class="progress" ng-show="photo_document.progress >= 0">
<div style="width:{{photo_document.progress}}%"
ng-bind="photo_document.progress + '%'"></div>
</span>
<span ng-show="photo_document.result">Upload Successful</span>
<span class="err" ng-show="errorMsg">{{errorMsg}}</span>
</form>
控制器cakephp3用于添加文档,用于保存图片I,m,使用:
我的模型:
public function initialize(array $config)
{
parent::initialize($config);
$this->setTable('documents');
$this->setDisplayField('id');
$this->setPrimaryKey('id');
$this->addBehavior('Josegonzalez/Upload.Upload', [
'photo' => [
'path' => 'static{DS}{model}{DS}{field}{DS}{primaryKey}',
],
]);
}
public function add()
{
$data = ['result' => 'fail', 'id' => 'null'];
$errors = $this->Documents->validator()->errors($this->request->getData());
if(empty($errors))
{
$document = $this->Documents->newEntity($this->request->getData());
$document->photo = $this->request->getData('photo');
if ($this->Documents->save($document))
{
$data = ['result' => 'success', 'id' => $document->id];
}
} else {
$data['error'] = $errors;
}
$this->set(compact('data'));
$this->set('_serialize', ['data']);
}
public function initialize(array $config)
{
parent::initialize($config);
$this->setTable('documents');
$this->setDisplayField('id');
$this->setPrimaryKey('id');
$this->addBehavior('Josegonzalez/Upload.Upload', [
'photo' => [
'path' => 'static{DS}{model}{DS}{field}{DS}{primaryKey}',
],
]);
}