TP5上傳文件與上傳圖片雷同!!!!!其實都差不多的!!!!用到了js插件
1.首先引用
2.form表單內 最重要的就是 這個屬性 enctype="multipart/form-data"
<div class="form-group">
<div id="file_upload" class="col-form-label">安裝包</div>
<li id="jindu" style="list-style: none"></li>
<input style="width: 760px;border:1px solid transparent" type="hidden" id="anzhuangbao" name="anzhuangbao" readonly="readonly">
<input style="width: 760px;border:1px solid transparent" type="text" id="down_url" name="down_url" readonly="readonly">
</div>
3.js
var x = res._raw.split("{"); 先從{這里截取
var v= JSON.parse("{"+x[1]); 后面的截取后 再加上一個花括號轉化成對象
<script>
var $list = $("#fileList"); //這幾個初始化全局的百度文檔上沒說明,好蛋疼
var thumbnailWidth = 50; //縮略圖高度和寬度 (單位是像素),當寬高度是0~1的時候,是按照百分比計算,具體可以看api文檔
var thumbnailHeight = 50;
var uploader = WebUploader.create({
// 選完文件后,是否自動上傳。
auto: true,
// swf文件路徑
swf: '/public/uploader.swf', //加載swf文件,路徑一定要對
// 文件接收服務端。
server: '{:url("Upload/upload")}',
// 選擇文件的按鈕。可選。
// 內部根據當前運行是創建,可能是input元素,也可能是flash.
pick: '#file_upload',
// 只允許選擇圖片文件。
accept: {
title: 'Images',
extensions: 'apk',
mimeTypes: 'application/*'
}
});
uploader.on( 'uploadProgress', function( file, percentage ) {
var $li = $( '#jindu' ),
$percent = $li.find('.progress');
// console.log($percent);
// console.log($("#down_url").val());
// 避免重復創建
if ( !$percent.length ) {
$percent = $('<p class="progress" style="height: 15px;line-height: 15px;text-align: center"><span></span></p>')
.appendTo( $li )
}
$percent.css( 'width', percentage * 100 + '%' ).css('background-color','blue');
$percent.children('span').text(Math.ceil(percentage * 100) + '%').css({"color":"#fff","display":"inline-block","text-align":"center","width":Math.ceil(percentage * 100) + '%'});
});
uploader.on("error", function (type) {
if (type == "Q_TYPE_DENIED") {
layer.msg("請上傳apk格式文件");
} else if (type == "Q_EXCEED_SIZE_LIMIT") {
layer.msg("文件大小不能超過1G");
}else {
layer.msg("上傳出錯!請檢查后重新上傳!錯誤代碼"+type);
}
});
uploader.on('uploadSuccess', function (file, res) {
var x = res._raw.split("{");
var v= JSON.parse("{"+x[1]);
console.log(v.path);
$('#file_upload').hide();
$("#down_url").val(v.path);
});
然后我們的down_url的value值有了,把字符串用ajax的形式傳進了數據庫
4.Upload控制器
public function upload()
{
// var_dump($_FILES["file"]["name"]);
$file = request()->file('file');
// 移動到框架應用根目錄/uploads/ 目錄下
$info = $file->move('./uploads/zip/');
// echo $info->getSaveName();
// die();
if ( $info )
{
// 成功上傳后 獲取上傳信息
// 輸出 20160820/42a79759f284b767dfcb2a0197904287.jpg
return json(['path' => 'http://' . $_SERVER['HTTP_HOST'] . '/uploads/zip/' . str_replace('\\','/',$info->getSaveName())]);
} else {
// 上傳失敗獲取錯誤信息
return 'cuowu';
}
}