Ext实现文件上传至服务器的技巧和方法 (extjs 上传文件到服务器)

Ext是一种非常流行的JavaScript框架,它常常被用来搭建企业级级应用。其中很常用的功能就是文件上传,但是对于初学者来说,这可能是比较困难的一个任务。在这篇文章中,我们将会学习如何使用。

我们需要创建一个上传按钮。

“`javascript

{

xtype: ‘filefield’,

name: ‘file’,

fieldLabel: ‘选择文件’,

labelWidth: 60,

msgTarget: ‘side’,

allowBlank: false,

buttonConfig: {

text: ‘上传’,

cls: ‘upload-button’

}

}

“`

这个按钮使用了filefield组件,它会显示一个文件选择框。这个按钮会触发一个事件,使得我们能够在Ext中监视这个上传过程。

接下来,我们需要在服务器上创建一个脚本,以便能够接受和处理上传的文件。文件上传的数据格式是多部分表单数据,可以通过使用PHP、Node.js等语言进行处理。假设我们使用PHP语言来处理,我们可以写一个简单的上传脚本,如下所示:

“`php

$allowed = array(‘png’, ‘jpg’, ‘gif’);

$file = $_FILES[‘file’];

$extension = pathinfo($file[‘name’], PATHINFO_EXTENSION);

if (!in_array($extension, $allowed)) {

die(‘文件类型不被接受’);

}

move_uploaded_file($file[‘tmp_name’], ‘uploads/’ . $file[‘name’]);

echo ‘上传成功’;

?>

“`

这个脚本会检查上传的文件类型是否正确,并将文件移动到指定的目录中。如果一切顺利,它会显示一条成功消息。

接着,我们需要在Ext中编写代码,以便能够将这个文件上传到我们的服务器上。

“`javascript

{

xtype: ‘filefield’,

name: ‘file’,

fieldLabel: ‘选择文件’,

labelWidth: 60,

msgTarget: ‘side’,

allowBlank: false,

buttonConfig: {

text: ‘上传’,

cls: ‘upload-button’

},

listeners: {

change: function (field, value) {

var form = field.up(‘form’).getForm();

if (form.isValid()) {

form.submit({

url: ‘upload.php’,

wtMsg: ‘上传中…’,

success: function (form, action) {

Ext.Msg.alert(‘成功’, action.result.message);

},

flure: function (form, action) {

Ext.Msg.alert(‘失败’, action.result.message);

}

});

}

}

}

}

“`

这个代码会在上传按钮被点击时触发一个change事件。事件处理程序会获取到上传按钮所在的表单,并且会检查表单是否有效。如果有效,就会使用Ext的form.submit()方法来将文件上传到服务器。

form.submit()方法需要传递一个对象参数,这个对象包含了上传的参数和一些方式。我们需要指定上传脚本的地址,同时也需要指定一个等待消息和成功和失败的回调函数。这两个回调函数用于处理文件上传成功或者失败的情况。

到此为止,我们就成功地使用了Ext来实现文件上传至服务器的功能。上述代码可以自由地调整,以适应不同的需求。如果你正在寻找一个功能强大、易于使用的文件上传解决方案,那么Ext可能是你需要的答案。


数据运维技术 » Ext实现文件上传至服务器的技巧和方法 (extjs 上传文件到服务器)