在EasyUI項目中使用FileBox控件實現文件上傳處理,可以按照以下步驟進行操作:
引入EasyUI的相關文件,包括easyui.css、easyui.js和jquery.js。
在HTML頁面中添加一個FileBox控件,并設置相關屬性:
<input id="filebox" class="easyui-filebox" name="file" data-options="buttonText:'選擇文件',accept:'image/*',onChange:fileChange" />
其中,filebox為控件的id,name為上傳文件的參數名,data-options中的buttonText設置上傳按鈕的文本,accept設置上傳文件的類型(這里設置為image/*表示只能上傳圖片),onChange是文件選擇改變時的回調函數。
function fileChange() {
var filebox = $("#filebox");
var file = filebox.filebox("getValue");
if (file) {
// 上傳文件
filebox.filebox("disable"); // 禁用控件
$.ajaxFileUpload({
url: "upload.php", // 上傳文件的后臺處理接口
secureuri: false,
fileElementId: "filebox", // 文件選擇框的id
dataType: "json",
success: function (data) {
if (data.success) {
// 上傳成功處理邏輯
alert("上傳成功");
} else {
// 上傳失敗處理邏輯
alert("上傳失敗:" + data.message);
}
},
error: function () {
alert("上傳失敗");
},
complete: function () {
filebox.filebox("enable"); // 啟用控件
filebox.filebox("clear"); // 清空文件選擇框
}
});
}
}
其中,url為文件上傳的后臺處理接口,fileElementId為文件選擇框的id,dataType為返回數據的類型,success、error和complete為上傳成功、失敗和完成時的回調函數。
<?php
$uploadDir = "uploads/"; // 文件保存目錄
if ($_FILES["file"]["error"] > 0) {
$result = array("success" => false, "message" => "上傳失敗");
} else {
$filename = $_FILES["file"]["name"];
$tempName = $_FILES["file"]["tmp_name"];
$filePath = $uploadDir . $filename;
if (move_uploaded_file($tempName, $filePath)) {
$result = array("success" => true);
} else {
$result = array("success" => false, "message" => "保存文件失敗");
}
}
echo json_encode($result);
?>
其中,$uploadDir為文件保存的目錄,$_FILES[“file”]為上傳文件的信息。
通過以上步驟,就可以在EasyUI項目中使用FileBox控件實現文件上傳處理了。