<input type="hidden" name="ImgUrl"  readonly="readonly">
<input type="file" id="imgurl_uploadify" />
<img id="imgurl_view" width="100" height="100"/>

最上面的那个input是自己添加的,主要用于获取上传的图片的路径,然后传给name为ImgUrl的表单元素,从而在提交的时候将其值传递,下面的两个控件是uploadify上传图片控件要用的

下面是jquery上传代码:

@section scripts{
<script type="text/javascript">
$(function () {
//上传图片
$("#imgurl_uploadify").uploadify({
'queueSizeLimit': 1, //上传的数量
'uploader': '/HttpHandler/UploadifyHandler.ashx', //网站中的UploadifyHandler.ashx文件地址
'swf': '/Content/js/plugins/uploadify/uploadify.swf', //该文件在项目中的位置
'onUploadSuccess': function (file, data, response) { //这里的data是从UploadifyHandler.ashx文件获取过来的netPath
//下面的这句话是将上传的图片的url赋值给img控件的src属性
$('#imgurl_view').attr('src', data);
//这句话是将上传的图片的url赋值给input控件的value属性,从而提交表单的时候会获取到该name为ImgUrl的input控件的value值,这里的WebUrl是Http://localhost:2551
$("input[name='ImgUrl']").attr('value', data.replace('@System.Configuration.ConfigurationManager.AppSettings["WebUrl"]', ''));
},
'onQueueComplete': function () {
},
//检测FLASH失败调用
'onFallback': function () {
alert("您未安装FLASH控件,无法上传图片!请安装FLASH控件后再试。");
},
//载入时触发,将flash设置到最小
'onInit': function () {
$(".uploadify-queue").hide();
}
}); })
</script>
}

下面再看看图片上传时的路径:

public void ProcessRequest(HttpContext context)
{
HttpPostedFile file = context.Request.Files["Filedata"];

//带net的路径变量都是网络路径;带upload的路径变量都是本地服务器路径,即保存到本地的路径

//WebUrl=http://localhost:2551,显示图片的时候是找此路径的
var netRoot = System.Configuration.ConfigurationManager.AppSettings["WebUrl"];
//WebPath=D:\项目-----------公司--代码\Linkin2\Linkin.Web,是将其上传到Web项目中,如果不加这句的是默认保存到Manager里了
var uploadRoot = System.Configuration.ConfigurationManager.AppSettings["WebPath"]; var strogeFolder = "/Upload/Uploadify"; var netPath = string.Format("{1}/{0}/", DateTime.Now.ToString("yyyy/MM/dd"), strogeFolder);
//下面这种写法是保存到linkin.Manager项目下的文件夹下了,但是现在要保存到Web下
//var uploadPath = HttpContext.Current.Server.MapPath(netPath);
var uploadPath = string.Format("{0}/{1}/{2}/", uploadRoot, strogeFolder, DateTime.Now.ToString("yyyy/MM/dd")); if (file != null)
{
if (!Directory.Exists(uploadPath))
{
Directory.CreateDirectory(uploadPath);
} var fileName = string.Format("{0}{1}", IDHelper.Id32, file.FileName.Substring(file.FileName.IndexOf('.'))); netPath = string.Format("{2}{0}{1}", netPath, fileName, netRoot);
uploadPath = string.Format("{0}{1}", uploadPath, fileName); file.SaveAs(uploadPath);
//下面这句代码缺少的话,上传成功后上传队列的显示不会自动消失
context.Response.Write(netPath);
}
else
{
context.Response.Write("0");
}
}

JQuery之replace以及给控件赋值的更多相关文章

  1. Jquery给input[type=radio] 控件赋值

    setobject: function (data, scope, win) { //data jsoon数据, scope,一般为form的id,win 窗口对象,如果在当前window win=n ...

  2. 页面单击按钮弹出modaldialog然后调用ajax处理程序获取数据,给父级页面控件赋值

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="RefTopicList.asp ...

  3. jquery messagetip信息语提示控件

    编写原因: 作为提示框,jquery有个messagebox的控件,也就是弹出的提示框.但这个控件如果不是用在需要确认的时候,单单警告提示.消息提示.失败提示时,用户还需要去点下确认,有时这操作还是挺 ...

  4. jquery datepicker-强大的日期控件

    在web开发中,总会遇到需要用户输入日期的情况.一般都是提供一个text类型的input供用户输入日期.然而,这种方式,开发人员必须对用户输入的日期进行验证,判断其合法性.除此之外,让用户输入日期也是 ...

  5. jQuery里面的datepicker日期控件默认是显示英文的,如何显示中文或其他语言呢?

    jQuery里面的datepicker日期控件默认是显示英文的,如何让他显示中文或其他呢? [官方的写法]: (1)引入JS文件: <script type="text/javascr ...

  6. Silverlight Visifire控件 .net后台控制aspx页面控件的显示与隐藏,动态给控件赋值,选定默认值的设定

    .net后台代码: 控件的显示与隐藏: this.dateStart.Visibility = Visibility.Collapsed;//不显示控件 this.dateYear.Visibilit ...

  7. 用js给html控件赋值

      用js给html控件赋值 <script> window.onload=function setValue()//在页面加载时赋值 { document.getElementById( ...

  8. WPF线程中获取控件的值和给控件赋值

    WPF中使用线程操作控件,按平常的操作方法操作的话会报异常:调用线程无法访问此对象,因为另一个线程拥有该对象.所以我们要使用Dispatcher类的BeginInvoke()与Invoke()方法.B ...

  9. JS给html控件赋值

    <html> <head> <title> JS给html控件赋值 </title> <script language="javascr ...

随机推荐

  1. Django基础之admin功能

    Django默认开起了后台 1.访问admin后台 2.用户和密码进行登录 ============================================================== ...

  2. js正则表达式限制文本框只能输入数字,小数点,英文字母

    1.文本框只能输入数字代码(小数点也不能输入)<input onkeyup="this.value=this.value.replace(/\D/g,'')" onafter ...

  3. Java学习1_一些基础1——16.5.4

    每个java程序中都必须有一个main方法,格式为: public class ClassName { public static void main(String[] args) { program ...

  4. Pycharm 专业版安装

    1.Pycharm官网,网址:http://www.jetbrains.com/pycharm/download/#section=windows,下载PyCharm安装包,根据自己电脑的操作系统进行 ...

  5. react-router 4.x 路由按需加载

    react-router 4 代码分割(按需加载) 官方文档  https://serverless-stack.com/chapters/code-splitting-in-create-react ...

  6. kvm--virsh命令行下管理虚拟机

    virsh 既有命令行模式,也有交互模式,在命令行直接输入 virsh 就进入交互模式, virsh 后面跟命令参数,则是命令行模式: (1)基础操作 --- 命令行下管理虚拟机 virsh list ...

  7. Luogu P4503 [CTSC2014]企鹅QQ

    思路 如果直接暴力的比较的话,不用想也知道会超时 所以考虑另一种方法,将前缀和的思想运用到hash中.用两个hash,一个从前往后记录,一个从后往前记录,然后枚举哪一位是不相同的,然后删掉这一位,将这 ...

  8. Python,subprocess模块(补充)

    1.subprocess模块,前戏 res = os.system('dir') 打印到屏幕,res为0或非0 os.popen('dir') 返回一个内存对象,相当于文件流 a = os.popen ...

  9. 60.通过应用层join实现用户与博客的关联

    在构造数据模型的时候,将有关联关系的数据分割为不同的实体,类似于关系型数据库中的模型. 案例背景:博客网站,一个网站可能有多个用户,一个用户会发多篇博客,此时最好的方式是建立users和blogs两个 ...

  10. Boundary Conditions

    test test Table of Contents 1. Boundary conditions 1.1. Neumann boudary condition vs Dirichlet BC 1. ...