【发布时间】:2017-09-06 09:40:45
【问题描述】:
查看代码:
<form enctype="multipart/form-data" name="imagesform" id="imagesform"
action="{{url('upload')}}" method="post" >
{{ csrf_field() }}
<input name="images[]" type="file" multiple>
<button type="submit" class="save" id="saveImage" style="border-
radius: 8px; padding: 5px 15px;">SAVE</button>
</form>
这是 laravel 视图代码。这里我尝试将多张图片上传到数据库中。
AJAX 代码:
<script type="text/javascript">
$(document).ready(function(){
$("#imagesform").submit(function(){
$.ajaxSetup({
headers: { 'X-CSRF-TOKEN':
$('meta[name="_token"]').attr('content') }
});
$.ajax({
url :"{{url('upload')}}",
type: 'POST',
data:new FormData($("#imagesform").get(0)),
contentType:false,
processData:false,
success: function (data) {
**$("#insertedImages").html(data);**
alert("Uploaded OK!")
},
});
return false;
});
});
</script>
这是我存储图像的 ajax 请求。另外,我正在尝试显示那些添加的图像(标记为块)。
控制器代码:
public function uploadSubmit(UploadRequest $request)
{
$product = Product::create($request->all());
foreach ($request->images as $photo) {
$filename = $photo->store('uploadedImages');
$filename=substr($filename,15);
ProductsPhoto::create([
'product_id' => $product->id,
'filename' => $filename
]);
}
return $filename;
}
这是我的控制器,用于插入这些图像数组并返回相同的图像。但是,它只显示图像的名称。 ie.,eZrcSTlkCeGez8Dq6pTW5X1yLUA080W5UamQEfXk.png..我不想像这样显示,而是想显示图像。
图片展示:
<div id="insertedImages"></div>
这是我给显示图像的。
【问题讨论】:
-
使用
img标签并在src使用文件路径 -
我可以简单地给
uploadedImages/insrc -
你也需要一个文件名。或者您可以输出为 base64 字符串而不是文件路径。
-
<img src="{{asset(Storage::url('uploadedImages/' . $filename))}}" width="100" height="100" id="insertedImages"> -
是这样吗??
标签: php jquery ajax image laravel-5.4