一.HTML部分
<!-- 引入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脚本地址
width: 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(); // 上传文件的后缀