前台

<tr>
<td style="width:100px; text-align:right;">
@Html.LabelFor(model => model.ImgUrl):
</td>
<td style="width:310px">
@Html.HiddenFor(model => model.ImgUrl)
<input class="easyui-filebox" name="File" id="filed" data-options="prompt:'请选择..'" style="width:200px;display:none" />
</td>
<td>@Html.ValidationMessageFor(model => model.ImgUrl)</td>
</tr>

前台提交的时候需要easyui   from表单的异步提交方法(别的提交表单方法后台获取不到数据,不知道为什么)

提交表单代码:

$("#btnSave").click(function () {
if ($("form").valid()) {
$("input[name='Content']").val(editor.getContent())
$("#ZxdFm").form('submit', {
datatype: 'json',
success: function (data) {
var json = eval("(" + data + ")");
if (json.type == 1) {
window.parent.frameReturnByMes(json.message);
window.parent.frameReturnByReload(true);
window.parent.frameReturnByClose()
}
else {
window.parent.frameReturnByMes(json.message);
}
}
})
}
return false;
});

这个返回回来的数据需要用eval解析一下,直接用获取不到数据

public JsonResult Create(X_ZxDynamicInfoModel model,HttpPostedFileBase File)
{
model.Id = ResultHelper.NewId;
model.CreateTime = ResultHelper.NowTime;
if (File != null)
{
string imgurl = UploadFile(File);
if (imgurl == "1")
{
return Json(JsonHandler.CreateMessage(0, "请选择正确的图片格式"));
}
model.ImgUrl = imgurl;
}

}

后台接受文件代码,UploadFile(HttpPostedFileBase  File)是我封装的一个方法,返回的是一个图片文件路径

方法代码如下

public string UploadFile(HttpPostedFileBase File)
{
string FileExtName = System.IO.Path.GetExtension(File.FileName).ToLower();
switch (FileExtName)
{
case ".jpg":
case ".jpeg":
case ".png":
case ".gif":
break;
default:
return "1";
}
//保存位置
string SaveFile = DateTime.Now.ToString("yyyyMMddHHmmssff");
//保存扩展名
SaveFile += System.IO.Path.GetExtension(File.FileName);
//生成完整的存储路径(网址)
string SavePathFile = string.Format("/Uploads/{0}", SaveFile);
string SavePathUrl = SavePathFile;//记录保存的url路径
//转化生成磁盘物理路径
SavePathFile = Server.MapPath(SavePathFile);
//开始保存
File.SaveAs(SavePathFile);
return SavePathUrl;
}

其他的文件上传也应该这样,因为机制都是差不多的

学习日记18、easyui 文件框上传文件的更多相关文章

  1. 【JavaEE企业应用实战学习记录】servlet3.0上传文件

    <%-- Created by IntelliJ IDEA. User: Administrator Date: 2016/10/6 Time: 14:20 To change this tem ...

  2. Hessian学习总结(二)——使用hessian上传文件

    hessian较早版本通过 byte[] 进行文件传输:4.0之后支持 InputStream 作为参数或返回值进行传输. 注意:hessian会读取整个文件,如果文件过大,会导致JVM内存溢出.可以 ...

  3. MVC项目使用easyui的filebox控件上传文件

    开发环境:WIN10+IE11,浏览器请使用IE10或以上版本 开发技术框架MVC4+JQuery Easyui+knockoutjs 效果为弹出小窗体,如下图 1.前端cshtml文件代码(只包含文 ...

  4. Servlet学习:(三)Servlet3.0 上传文件

    转: Servlet学习:(三)Servlet3.0 上传文件 2018年08月03日 11:57:58 iDark_CSDN 阅读数:362   一.注意事项 客户端(浏览器) 表单的提交方法必须是 ...

  5. CKEditor与CKFinder学习--CKFinder源代码改动自己定义上传文件名称

    CKFinder的系列文章到眼下应该说基本能够满足开发需求了,只是另一个小细节,CKFinder默认上传的文件名称和源文件名称一致,假设文件名称反复会自己主动加入编号"(1)"&q ...

  6. Python3+Selenium3+webdriver学习笔记9(发送富文本信息及上传文件处理)

    #!/usr/bin/env python# -*- coding:utf-8 -*-'''Selenium3+webdriver学习笔记9(发送富文本信息及上传文件处理)'''from seleni ...

  7. Linux学习23-Xftp上传文件显示乱码问题

    前言 当我们在windows新建一个文件,里面有中文时,使用Xftp上传到linux服务器上,会出现乱码问题. Windows的默认编码为GBK Linux的默认编码为UTF-8 Xftp上传文件乱码 ...

  8. FastAPI 学习之路(十七)上传文件

    系列文章: FastAPI 学习之路(一)fastapi--高性能web开发框架 FastAPI 学习之路(二) FastAPI 学习之路(三) FastAPI 学习之路(四) FastAPI 学习之 ...

  9. Nodejs学习笔记(八)--- Node.js + Express 实现上传文件功能(felixge/node-formidable)

    目录 前言 formidable简介 创建项目并安装formidable 实现上传功能 运行结果 部分疑惑解析 写在之后 前言 前面讲了一个构建网站的示例,这次在此基础上再说说web的常规功能---- ...

随机推荐

  1. linux最强编辑神器vim常用命令大全:编辑、插入、删除、替换、保存...

    我说vim是编辑器之神大家没有意见吧 下面分享一些vim常用命令,大家可以收藏一下 进入vim:  vim配置: vim中光标移动: vim中屏幕滚动: vim中插入文本类: 文本替换: 格式 : 范 ...

  2. 一个实用的iptables脚本(各种过滤写法参考)

    #!/bin/shmodprobe ipt_MASQUERADEmodprobe ip_conntrack_ftpmodprobe ip_nat_ftpiptables -Fiptables -t n ...

  3. java中的继承关系

    1.定义 java中的继承是单一的,一个子类只能拥有一个父类:java中所有类的父类是java.lang.Object,除了这个类之外,每个类只能有一个父类: 而一个父类可以有多个子类,可以被多个子类 ...

  4. [LeetCode] 92. 反转链表 II

    题目链接 : https://leetcode-cn.com/problems/reverse-linked-list-ii/ 题目描述: 反转从位置 m 到 n 的链表.请使用一趟扫描完成反转. 说 ...

  5. HTML DOM中的comfirm()确认对话框

    前言 最近在开发中有一个需求大概就是说:表单点击提交按钮首先弹出确认对话框,然后点击确定请求接口,那么问题来了,我们如何确定点击的是确定还是取消呢? 定义和用法 定义 comfirm()确认对话框,用 ...

  6. Python 自定义三方库

    一.注册一个pypi账号 https://pypi.org/ 二.github上创建一个项目 https://github.com/ 三.编写自己的python项目 项目结构(参考):https:// ...

  7. CentOS7.6中 KVM虚拟机内存、CPU调整

    CentOS7.6中 KVM虚拟机内存.CPU调整 一.调小虚拟机内存 调小虚拟机内存可以动态实现,不用关机 1.查看当前内存大小 [root@heyong kvm]# virsh dominfo t ...

  8. logname - 显示用户登录名

    总览 (SYNOPSIS) logname [OPTION]... 描述 (DESCRIPTION) 显示 当前用户 的 名字. --help 显示 帮助信息, 然后 结束. --version 显示 ...

  9. 树状数组求LIS模板

    如果数组元素较大,需要离散化. #include <iostream> #include <cstdio> #include <cstring> #include ...

  10. git_sd

    (一)将代码从服务器移到gitlab nano .gitignore ll -ah 1.关联一个远程库 : git remote add origin http://hcgit.hengchang6. ...