【发布时间】:2018-01-08 23:31:38
【问题描述】:
我正在使用 laravel 作为后端 API REST 上传文件。当我在前端上传文件时,它会在响应中发送 200 OK 状态码,但不会将其保存到数据库中。我看到的奇怪之处在于,响应中的数据为空,而文件数组位于响应的配置部分。
这是处理这种情况的控制器
public function makeFile(Request $request)
{
$fileArray = [];
if (isset($request->files) && is_array($request->files)) {
foreach ($request->files as $key => $fileEntity) {
$file= new File();
$file->file=$fileEntity['file'];
$file->shipment_id=$fileEntity['shipment_id'];
$file->user_id=$fileEntity['user_id'];
$file->date=date('Y,m,d,G,i,s');
$file->fileName=$fileEntity['fileName'];
$file->fileType=$fileEntity['fileType'];
$file->status=$fileEntity['status'];
$file->save();
$fileArray[] = $file;
}
}
return response()->json($fileArray);
}
这是我的表格
<uib-tab index="1" heading="Files">
<div class="row">
<label>Add File</label>
<ul class="shipment__files">
<li class="col-xs-12 col-md-6" ng-repeat="file in shipment.shipmentObject.files">
<a href="#"><img ng-src="{{ file.iconURL }}" width="60"></a>
<div class="filename"><a href="#">{{ file.fileName }}</a></div>
<div class="date">{{ file.date }}</div>
<div class="uploader">{{ file.user_id }}</div>
</li>
</ul>
</div>
<!-- <form>
<input type="file" name="" ng-model="shipment.shipmentObject.file">
<button class="btn btn-primary" ng-click="shipment.makeFile(shipmentObject.file)" >Upload File</button>
<div>aa {{ newFile }}</div>
</form> -->
<div>
<input data-my-Directive type="file" name="file" ng-model="shipment.shipmentObject.file">
<p>
post request with this data:
</p>
<pre ng-repeat="(key, value) in fileLog">
{{key}} {{ value }}
</pre>
</div>
</uib-tab>
【问题讨论】:
标签: javascript angularjs laravel http