javascript代码:
Ext.onReady(function() {
Ext.create('Ext.form.Panel',
{
title: 'Upload a Photo',
width: 400,
bodyPadding: 10,
frame: true,
renderTo: "div1",
items: [{
xtype: 'filefield',
name: 'photo',
fieldLabel: 'Photo',
labelWidth: 50,
msgTarget: 'side',
allowBlank: false,
anchor: '100%',
buttonText: 'Select Photo...'}],
buttons: [{ text: 'Upload',
handler: function() {
var form = this.up('form').getForm();
if (form.isValid()) {
form.submit({ url: 'RemoteFileUpload.aspx',
waitMsg: 'Uploading your photo...',
success: function(fp, o) {
Ext.Msg.alert('Success', 'Your photo "' + o.result.file + '" has been uploaded.');
}
});
}
}
}]
});
});
后台代码:
protected void Page_Load(object sender, EventArgs e)
{
Response.Clear();
if (this.SaveFiles())
{
Response.Write("{success:true,msg:'File was successfully uploaded.'}");
}
else
{
Response.Write("{success:true,msg:'Possible file upload attack!'}");
}
Response.End();
}
public Boolean SaveFiles()
{
///遍历File表单元素
HttpFileCollection files = HttpContext.Current.Request.Files;
try
{
for (int iFile = 0; iFile < files.Count; iFile++)
{
///检查文件扩展名字
HttpPostedFile postedFile = files[iFile];
string fileName, fileExtension;
fileName = System.IO.Path.GetFileName(postedFile.FileName);
if (fileName != "")
{
///注意:可能要修改你的文件夹的匿名写入权限。
postedFile.SaveAs(System.Web.HttpContext.Current.Request.MapPath("upload_files/") + fileName);
}
}
return true;
}
catch (System.Exception Ex)
{
return false;
}
}