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

本文介绍了如何利用XMLHttpRequestLevel2的FormData对象实现文件上传功能,通过JavaScript的Ajax调用,配合后端处理,完成图片或其他二进制文件的上传。示例代码展示了上传过程,包括上传单个文件和批量上传图片的实现。
摘要由CSDN通过智能技术生成

前言

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

示例代码

@extends('layouts.art')

@section('content')

{{ csrf_field() }}

名字

头像

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

//生成路径,图片存储

$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));

}

更多参考

总结

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

时间: 2017-08-10

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值