Ext.Net 1.x_Ext.Net.FileUpload上传文件

今天在使用ext.net的UploadField控件想上传文件时,发现examples.ext.net官网上的例子写的不是很详细。于是通过网上找资料,结合asp.net的文件上传的方法,终于实现了图片的上传功能。以下就是实现的代码,供大家参考!

首先在.aspx文件中插入一个文件上传的控件:

        <ext:FileUploadField ID="UploadFile" runat="server" FieldLabel="上传附件"  Width="300" ButtonText="浏览..." Icon="Attach" />

然后是.cs文件中实现上传的具体代码:

/// <summary>
    /// 上传附件
    /// </summary>
    protected void Upload(object sender, DirectEventArgs e)
    {
        string UploadFile = "";
        if (this.UploadFile.HasFile)
        {
            UploadFile = this.UploadFile.PostedFile.FileName.ToString();
            int FileSize = Int32.Parse(this.UploadFile.PostedFile.ContentLength.ToString());
            if (FileSize > 5 * 1024 * 1024)
            {
                X.Msg.Alert("提示信息", "上传文件过大!").Show();
                return;
            }
            string strFileName = Path.GetExtension(this.UploadFile.PostedFile.FileName).ToUpper();//获取文件后缀              
            if (!(strFileName == ".BMP" || strFileName == ".GIF" || strFileName == ".JPG"))
            {
                X.Msg.Alert("提示信息", "文件格式不正确!").Show();
                return;
            }

            Random ran = new Random();
            string sNewName = DateTime.Now.ToString(@"yyyyMMddHHmmss") + ran.Next(100, 999)
              + Path.GetExtension(this.UploadFile.PostedFile.FileName);
            string strPath = Server.MapPath("~/Uploads/ZmQuo/"+System.DateTime.Now .Year .ToString () +"/"+ sNewName);
            if (!Directory.Exists(Path.GetDirectoryName(strPath)))
            {
                Directory.CreateDirectory(Path.GetDirectoryName(strPath));
            }
            try
            {
                this.UploadFile.PostedFile.SaveAs(strPath);
                X.Msg.Alert("提示信息", "文件上传成功!").Show();
                return;
            }
            catch(Exception ex) 
            {
                throw ex; 
            }
        }
    }

发布了921 篇原创文章 · 获赞 374 · 访问量 325万+
展开阅读全文

EXT上传图片,怎么获取图片对象?

05-26

我用ext做上传图片,图片要存到数据库中去,我本想的是获取地址,然后将图片对象转为二进制存如数据库,但是路径一直有问题,然后我自己写了一个死路径,图片就存到数据库了,求java解后台怎么获取对象,网上说的那些设置html中。的type那个对我这个没用 ``` { xtype: 'fieldset', autoHeight:true, title: '签名图片', labelWidth : 80, layout : 'form', items:[{ xtype: 'textfield', id: 'userInfoForm_UserForm_fileImg', name: 'fileImg', width:355, height:20, fieldLabel : '签名图片', inputType : 'file', fileUpload: true , frame: true, maxLength : 50 }], buttons: [{ text:'上传签名', handler:function () { var UserFilePath = Ext.getCmp('userInfoForm_UserForm_fileImg').getValue(); var UserFilePaths=''; var UserName=Ext.getCmp('userInfoForm_UserForm_username').getValue(); if(UserFilePath!=null&&UserFilePath!=''){ UserFilePaths=UserFilePath.substring(UserFilePath.length-3,UserFilePath.length); if(UserFilePaths=='jpg'||UserFilePaths=='gif'||UserFilePaths=='png'||UserFilePaths=='bmp'||UserFilePaths=='peg'){//判断是否是图片 Ext.getCmp('userInfoForm_UserForm').form.doAction('submit',{ //提交 url:'userInfo.html?method=saves', params:{UserFilePath:UserFilePath,UserName:UserName}, callback:function(options,success,response){ var json = Ext.util.JSON.decode(response.responseText); if(json.success){ showMsg('签名图片上传成功!','3'); }else{alert('上传失败');} } }); }else{showMsg('请选择正确的图片!','3');} }else{showMsg('请选择图片再点击上传!','3');} } } ]}, ``` 上面的前台代码是在java类中写的,用的stringbuff,然后输出到前台显示的 ``` public void saves(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)throws Exception{ String UserFilePath=(String)request.getAttribute("UserFilePath") ;//获取前台路径(但是传入的是C:\fakepath\文件名称) String UserName=request.getParameter("UserName"); //用户账号 System.out.println(UserFilePath); // String path =request.getRealPath("/files"); JSONObject json = new JSONObject(); User user=new User(); boolean flag=false; try { File files=new File(UserFilePath); byte[] destFileByte= FileUtils.readFileToByteArray(files) ;//转换为二进制 IUserManager userManager = (IUserManager) AppService.System.UserManager.get(this);//创建用户管理对象 user.setSigmature_Img(destFileByte);//将图片存入实体类 user.setUsername(UserName);//姓名 flag=userManager.InsertSigmature_Img(user);//成功返回true if(flag){ json.put("success",true); } json.put("success","111"); } catch (Exception e) { e.printStackTrace(); } writeJson(response,json); } ``` 问答

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 鲸 设计师: meimeiellie

分享到微信朋友圈

×

扫一扫,手机浏览