求asp.net mvc下实现上传图片并且能预览的例子

解决方案 »

  1.   

     - - , 没人回答啊 ?   //上传文件
            [AcceptVerbs(HttpVerbs.Post)]
            public ActionResult AddFiles_newsinfo(FormCollection collection)
            {
                var rdto = new ResultMsg();
                var c = Request.Files[0];
                string newfn = "";
                int w = 0;
                int h = 0;
                if (c != null && c.ContentLength > 0)
                {
                    string filename = c.FileName;
                    string destination = Server.MapPath("/UploadFile/");
                    newfn = DateTime.Now.ToString("yyyyMMddhhmmss") + filename.Substring(filename.LastIndexOf("."));
                    c.SaveAs(destination + newfn);
                    System.Drawing.Image img = System.Drawing.Image.FromFile(destination + newfn);
                    w = img.Width;
                    h = img.Height;
                }
                Response.Write("{success:'true',fn:'" + newfn + "',w:'" + w + "',h:'" + h + "'}");
                return null;
            }
    Ext.getCmp('fpuploadimgform').form.submit({
                                url: '/newsinfo.mvc/AddFiles_newsinfo',
                                waitMsg: '正在上传......',
                                waitTitle: '请等待',
                                method: 'POST',
                                success: function (form, action) {
                                    var element = document.createElement("img");
                                    element.src = "../UploadFile/" + action.result.fn;
                                    if (Ext.isIE8) {
                                        var url = '../UploadFile/' + action.result.fn;
                                        var image = Ext.get('imageBrowse').dom;
                                        image.src = Ext.BLANK_IMAGE_URL; // 覆盖原来的图片
                                        image.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = url;
                                    } else {
                                        var url = '../UploadFile/' + action.result.fn;
                                        Ext.get('imageBrowse').dom.src = url;
                                    }
                                    Ext.getCmp('photo').setValue(url);
                                    Ext.getCmp('uploadimgwin').close();
                                },
                                failure: function (form, action) {
                                    form.reset();
                                    if (action.failureType == Ext.form.Action.SERVER_INVALID) Ext.MessageBox.alert('警告', '上传失败,仅支持jpg、bmp、gif、png格式的图片')
                                }
                            })
      

  2.   

    要实现预览效果要用flash 
    要不然就先上传到服务器,用JS 添加一个img标签