zoukankan      html  css  js  c++  java
  • Laravel 5.2 整合 Uploadify 上传图片

    前端:

    <!-- 引入CSS、JS -->
    <link rel="stylesheet" type="text/css" href="{{asset('org/uploadify/uploadify.css')}}">
    <script type="text/javascript" src="{{asset('admin/js/jquery.js')}}"></script>
    <script src="{{asset('org/uploadify/jquery.uploadify.min.js')}}" type="text/javascript"></script>
    
    <!-- 上传按钮 -->
    <input id="file_upload" name="file_upload" type="file"><br>
    <img id="picshow" src=""> <!-- 默认隐藏 #picshow{display: none;} -->
    
    <!-- 实例化 -->
    <script>
        $('#file_upload').uploadify({
                swf      : "{{asset('org/uploadify/uploadify.swf')}}", // 引入Uploadify 的核心Flash文件
                uploader : "{{url('admin/upload')}}", // PHP脚本地址
                 120, // 上传按钮宽度
                height: 30, // 上传按钮高度
                buttonImage: "{{asset('org/uploadify/browse-btn.png')}}", // 上传按钮背景图片地址
                fileTypeDesc: 'Image File', // 选择文件对话框中图片类型提示文字(Windows系统)
                fileTypeExts: '*.jpg;*.jpeg;*.png;*.gif', // 选择文件对话框中允许选择的文件类型(Windows系统)
                formData     : {'_token': '{{csrf_token()}}'}, // Laravel表单提交必需参数_token,防止CSRF
                onUploadSuccess : function(file, data, response) { // 上传成功回调函数
                    $('#picshow').attr('src', data).show();
                    $('#file_upload).val(data);
                },
                onUploadError: function(file, errorCode, errorMsg, errorString) { // 上传失败回调函数
                    $('#picshow').attr('src', '').hide();
                    $('#file_upload).val('');
                    alert('上传失败,请重试!');
                }
            });
    </script>
    

        

    后端:

    /**
     * 图片上传
     * @return [type] [description]
     */
    public function upload()
    {
        $file = Input::file('Filedata'); // 不同环境可能获取方式有点不同,可以下打印观察一下 dd(Input());
        if($file->isValid())
        {
            // 上传目录。 public目录下 uploads/thumb 文件夹
            $dir = 'uploads/thumb/';
     
            // 文件名。格式:时间戳 + 6位随机数 + 后缀名
            $filename = time() . mt_rand(100000, 999999) . '.' . $file ->getClientOriginalExtension();
             
            $file->move($dir, $filename);
            $path = $dir . $filename;
            return url($path);
        }
    }
    
    // $realPath = $file->getRealPath();  // 缓存在 tmp 文件夹的文件绝对路径
    // $tmpName = $file->getFileName();   // 缓存在 tmp 文件夹的文件名
    // $clientName = $file->getClientOriginalName();     // 获取原文件名称
    // $extension = $file->getClientOriginalExtension(); // 上传文件的后缀

    参考链接:简书 - laravel图片和文件的上传

    uploadify 官网:http://www.uploadify.com

  • 相关阅读:
    PHP 指定的 CGI 应用程序由于未返回完整的一组 HTTP 头而产生错误行为。
    BPM触发事件
    封装继承多态到底讲的是什么
    .Net 为什么叫.Net 转载自 jerrylsxu 的博客
    C# 琐碎记忆 Message
    SQL Case
    C# 命名规范(部分)
    C# 反射
    C# 日志 log 配置文件
    C# 琐碎记忆 三元表达式
  • 原文地址:https://www.cnblogs.com/mingc/p/6812590.html
Copyright © 2011-2022 走看看