前言 大家都知道,早期的XMLHttpRequest不支持文件上传,一般用第三方js插件或者flash,现在可以借助XMLHttpRequest Level 2 的FormData对象实现二进制文件上传,正好最近工作中遇到了这个需求,所以本文就来给大家下实现的方法,话不多说了,来一起看看详细的介绍吧。 示例代码
@extends('layouts.art') @section('content')
<form id="avatar"> {{ csrf_field() }} <div > <label for="inputEmail3" >名字</label> <div > <input type="title" id="title" name="title"> </div> </div>
<div > <label for="inputEmail3" >头像</label> <div > <input type="file" id="title" name="photo"> </div> </div>
<div > <div > <a onclick="uploadInfo()">上传</a> </div> </div> </form>
<script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script> <script type="text/javascript"> function uploadInfo() { var formData = new FormData($("#avatar")); $.ajax({ url: "{{url('pho/【本文中一些PHP版本可能是以前的,如果不是一定要,建议PHP尽量使用7.2以上的版本】/to')}}", type: 'POST', data: formData, /【php教程_linux常用命令_网络运维技术】/ contentType: false, processData: false, success: function (returndata) { console.log(returndata); }, error: function (returndata) { console.log(returndata); } }); }
</script>
@endsection
//生成路径,图片存储 $ext = $request->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)); }
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。