利用laravel+ajax实现文件上传功能方法示例

前端之家收集整理的这篇文章主要介绍了利用laravel+ajax实现文件上传功能方法示例前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

前言

大家都知道,早期的XMLHttpRequest不支持文件上传,一般用第三方js插件或者flash,现在可以借助XMLHttpRequest Level 2 的FormData对象实现二进制文件上传,正好最近工作中遇到了这个需求,所以本文就来给大家总结下实现的方法,话不多说了,来一起看看详细的介绍吧。

示例代码

PHP;"> @extends('layouts.art') @section('content')

<form class="form-horizontal" id="avatar">
{{ csrf_field() }}
<div class="form-group">
<label for="inputEmail3" class="col-sm-2 control-label">名字
<div class="col-sm-8">
<input type="title" class="form-control" id="title" name="title">

<div class="form-group">
<label for="inputEmail3" class="col-sm-2 control-label">头像
<div class="col-sm-8">
<input type="file" class="form-control" id="title" name="photo">

<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<a class="btn btn-default" onclick="uploadInfo()">上传

<script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"&gt;
<script type="text/javascript">
function uploadInfo() {
var formData = new FormData($("#avatar"));
$.ajax({
url: "{{url('photo')}}",type: 'POST',data: formData,contentType: false,processData: false,success: function (returndata) {
console.log(returndata);
},error: function (returndata) {
console.log(returndata);
}
});
}

@endsection

photo->getClientOriginalExtension(); $cover_path = "images/album/covers/" . time() . $ext; $name = "photo".time(); $src = "images/album/photos/". $name .".jpg"; Image::make($request->photo)->save(public_path($src));*/

//批量上传图片

foreach ($request->photo as $key => $value) {
//生成路径,图片存储
$prefix = "photo".mt_rand(1,1000);
$Origname = $value->getClientOriginalName();
$name = $prefix.$Origname;
$src = "images/album/photos/".$name;
$realPath = $value->getRealPath();
Storage::disk('uploads')->put($src,file_get_contents($realPath));
}

更多参考

nofollow" target="_blank" href="https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/UsingXMLHttpRequest#Submittingformsanduploading_files">https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/UsingXMLHttpRequest#Submittingformsanduploading_files

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对编程之家的支持

ajaxajax文件上传laravellaravellaravel怎么使用ajax

猜你在找的Laravel相关文章