Heim  >  Artikel  >  Backend-Entwicklung  >  Laravel5.2 integriert Uploadify, um Codebeispiele zum Hochladen von Bildern zu implementieren

Laravel5.2 integriert Uploadify, um Codebeispiele zum Hochladen von Bildern zu implementieren

黄舟
黄舟Original
2017-09-11 09:45:481367Durchsuche

Frontend:


<!-- 引入CSS、JS -->
<link rel="stylesheet" type="text/css" href="{{asset(&#39;org/uploadify/uploadify.css&#39;)}}">
<script type="text/javascript" src="{{asset(&#39;admin/js/jquery.js&#39;)}}"></script>
<script src="{{asset(&#39;org/uploadify/jquery.uploadify.min.js&#39;)}}" type="text/javascript"></script>

<!-- 上传按钮 -->
<input id="file_upload" name="file_upload" type="file"><br>
<img id="picshow" src=""> <!-- 默认隐藏 #pic{display: none;} -->

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

Backend:


/**
 * 图片上传
 * @return [type] [description]
 */
public function upload()
{
    $file = Input::file(&#39;Filedata&#39;); // 不同环境可能获取方式有点不同,可以下打印观察一下 dd(Input());
    if($file->isValid())
    {
        // 上传目录。 public目录下 uploads/thumb 文件夹
        $dir = &#39;uploads/thumb/&#39;;
 
        // 文件名。格式:时间戳 + 6位随机数 + 后缀名
        $filename = time() . mt_rand(100000, 999999) . &#39;.&#39; . $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(); // 上传文件的后缀

Das obige ist der detaillierte Inhalt vonLaravel5.2 integriert Uploadify, um Codebeispiele zum Hochladen von Bildern zu implementieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn