Asp.net ExtJS 实现文件上传
function upfile3()
{
var winUpload3 ;
if(!winUpload3){
winUpload3 = new Ext.Window({
title: '资源上传',
width: 400,
height: 200,
minWidth: 300,
minHeight: 100,
layout: 'fit',
plain: true,
bodyStyle: 'padding:5px;',
buttonAlign: 'center',
// items: formUpload,
items:[
new Ext.form.FormPanel({
baseCls: 'x-plain',
labelWidth: 80,
fileUpload: true,
defaultType: 'textfield',
items: [{
id: "upExcel",
xtype: 'textfield',
emptyText: '选择日报',
fieldLabel: '文 件',
name: 'upExcel',
inputType: 'file',
allowBlank: false,
blankText: '请上传文件',
anchor: '90%'
}]
})
],
buttons: [{
text: '上 传',
handler: function() {
if (formUpload.form.isValid()) {
formUpload.getForm().submit({
waitTitle: "请销等……",
url: 'http://localhost/Kzdhandler/extjsuploadfile.aspx',
waitMsg: '上传中……',
params: { filetype: '.xls' },
success: function(form, action) {
form.reset();
Ext.Msg.alert('成功', action.result.msg);
winUpload3.hide();
},
failure: function(form, action) {
Ext.Msg.alert('提示', action.result.msg);
}
})
}
}
}, {
text: '取 消',
handler: function() { winUpload3.hide(); }
}]
});
}
winUpload3.show();
}
ext.js 端代码
服务器端代码 ,hander中添加一个aspx 页面
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class extjsuploadfile : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (Request.Form["filetype"].ToString() == ".xls")
{
HttpPostedFile uploadFile = Request.Files["upExcel"];
if (uploadFile == null)
{
Response.Write("{success:false,msg:'未找到上传文件'}");
Response.End();
}
int lastIndex = uploadFile.FileName.LastIndexOf(".");
string filename = uploadFile.FileName.ToString();
string filenametype = uploadFile.FileName.Substring(lastIndex);
if (filenametype != ".doc")
{
Response.Write("{success:false,msg:'文件格式不对"+filename+"'}");
Response.End();
}
// filename = filename.Substring(0, 2);
int fileindex = filename.LastIndexOf("\\");
filename = filename.Substring(fileindex + 1, filename.Length-fileindex-1);
string path = "File/" + filename;
uploadFile.SaveAs(Server.MapPath(path));
Response.Write("{success:true,msg:'上传成功'}");
Response.End();
}
}
}
注意问题 中文名称乱码
解决方法
在webconfig 中添加
<configuration>
<location path="extjsuploadfile.aspx">
<system.web>
<globalization requestEncoding="gb2312" responseEncoding="gb2312"/>
</system.web>
</location>
<system.web>
。。。。。。
浙公网安备 33010602011771号