easyui的datagrid附件上传数据库返回id、查看、删除、放大缩小
时间: 2023-08-09 18:10:18 浏览: 65
对于easyui的datagrid附件上传,可以采用以下步骤进行操作:
1. 上传附件并将其保存到服务器上;
2. 将上传的附件信息存储到数据库中,并返回附件的id;
3. 在datagrid中显示附件的信息和对应的id;
4. 可以通过点击查看按钮来查看附件;
5. 可以通过点击删除按钮来删除附件,并在数据库中删除相应的信息;
6. 可以通过点击放大缩小按钮来对附件进行放大缩小操作。
以下是具体的实现步骤:
1. 上传附件并将其保存到服务器上
可以使用jQuery的ajax方法来实现附件上传,具体代码如下:
```javascript
$('#fileUpload').filebox({
buttonText: '选择文件',
onChange: function(){
var file = $('#fileUpload').filebox('files')[0];
var formData = new FormData();
formData.append('file', file);
$.ajax({
url: 'upload.php',
type: 'POST',
data: formData,
processData: false,
contentType: false,
success: function(data){
// 上传成功后的处理
}
});
}
});
```
其中,`upload.php`是处理上传请求的服务器端脚本。
2. 将上传的附件信息存储到数据库中,并返回附件的id
在服务器端脚本中,可以将上传的附件信息存储到数据库中,并返回附件的id,具体代码如下:
```php
<?php
// 上传文件
if(isset($_FILES['file'])){
$file = $_FILES['file'];
// 将文件保存到服务器上
$uploadPath = 'uploads/';
$fileName = $file['name'];
$filePath = $uploadPath . $fileName;
move_uploaded_file($file['tmp_name'], $filePath);
// 将附件信息存储到数据库中,并返回附件的id
$conn = mysqli_connect('localhost', 'username', 'password', 'database');
$sql = "INSERT INTO attachments (filename, filepath) VALUES ('$fileName', '$filePath')";
mysqli_query($conn, $sql);
$id = mysqli_insert_id($conn);
mysqli_close($conn);
// 返回附件的id
echo $id;
}
?>
```
3. 在datagrid中显示附件的信息和对应的id
可以通过设置datagrid的columns属性来显示附件的信息和对应的id,具体代码如下:
```javascript
$('#dg').datagrid({
url: 'getAttachments.php',
columns: [[
{field:'id', title:'附件ID', width:100},
{field:'filename', title:'附件名称', width:200},
{field:'filepath', title:'附件路径', width:300}
]]
});
```
其中,`getAttachments.php`是从数据库中获取附件信息的服务器端脚本。
4. 点击查看按钮来查看附件
可以通过设置一个按钮来触发附件的查看操作,具体代码如下:
```javascript
function viewAttachment(id){
var url = 'viewAttachment.php?id=' + id;
window.open(url);
}
$('#dg').datagrid({
url: 'getAttachments.php',
columns: [[
{field:'id', title:'附件ID', width:100},
{field:'filename', title:'附件名称', width:200},
{field:'filepath', title:'附件路径', width:300},
{field:'view', title:'查看', width:100, formatter: function(value, row, index){
return '<a href="javascript:void(0)" onclick="viewAttachment(' + row.id + ')">查看</a>';
}}
]]
});
```
其中,`viewAttachment.php`是用于查看附件的服务器端脚本。
5. 点击删除按钮来删除附件
可以通过设置一个按钮来触发附件的删除操作,具体代码如下:
```javascript
function deleteAttachment(id){
$.messager.confirm('确认', '确定要删除该附件吗?', function(r){
if(r){
$.post('deleteAttachment.php', {id: id}, function(data){
$('#dg').datagrid('reload');
});
}
});
}
$('#dg').datagrid({
url: 'getAttachments.php',
columns: [[
{field:'id', title:'附件ID', width:100},
{field:'filename', title:'附件名称', width:200},
{field:'filepath', title:'附件路径', width:300},
{field:'view', title:'查看', width:100, formatter: function(value, row, index){
return '<a href="javascript:void(0)" onclick="viewAttachment(' + row.id + ')">查看</a>';
}},
{field:'delete', title:'删除', width:100, formatter: function(value, row, index){
return '<a href="javascript:void(0)" onclick="deleteAttachment(' + row.id + ')">删除</a>';
}}
]]
});
```
其中,`deleteAttachment.php`是用于删除附件的服务器端脚本。
6. 点击放大缩小按钮来对附件进行放大缩小操作
可以通过设置一个按钮来触发附件的放大缩小操作,具体代码如下:
```javascript
function zoomAttachment(id){
var url = 'zoomAttachment.php?id=' + id;
window.open(url);
}
$('#dg').datagrid({
url: 'getAttachments.php',
columns: [[
{field:'id', title:'附件ID', width:100},
{field:'filename', title:'附件名称', width:200},
{field:'filepath', title:'附件路径', width:300},
{field:'view', title:'查看', width:100, formatter: function(value, row, index){
return '<a href="javascript:void(0)" onclick="viewAttachment(' + row.id + ')">查看</a>';
}},
{field:'zoom', title:'放大缩小', width:100, formatter: function(value, row, index){
return '<a href="javascript:void(0)" onclick="zoomAttachment(' + row.id + ')">放大缩小</a>';
}}
]]
});
```
其中,`zoomAttachment.php`是用于放大缩小附件的服务器端脚本。