<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. LR接口测试---webservices

    //================================================================================== /* //事务开始 lr_st ...

  2. 关于使用 autoFac 的注入方法

    1.使用 NUGET 安装 Autofac 2.需要引用Autofac ASP.NET MVC 5 Integration  这个扩展包. 但有时候在NuGet中找不到 该包 需要使用“程序要控制器控 ...

  3. mysql复制过滤参数说明

    参考文档: http://www.ywnds.com/?p=6945 https://stackoverflow.com/questions/23191160/whats-the-difference ...

  4. http协议对照表

    1**:请求收到,继续处理 2**:操作成功收到,分析.接受 3**:完成此请求必须进一步处理 4**:请求包含一个错误语法或不能完成 5**:服务器执行一个完全有效请求失败 100——客户必须继续发 ...

  5. SQL SERVER 2008 在某表中新增一列时失败

    背景:新增列语句如:“alter table 表名 add 列名 float default 0 with values”(用VS2010做网站,这句话是在C#代码里执行的) 报错提示: 警告: 已经 ...

  6. 梦想MxWeb3D,三维CAD协同设计平台 2019.04.09更新

    SDK开发包下载地址: http://www.mxdraw.com/ndetail_10140.html 在线演示网址: http://www.mxdraw.com:3000/ 1.  增加上传dwg ...

  7. Queueingconsumer 找不到

    springboot从1.5.9升级到2.0.0,queueingconsumer报错没有这个类,改为使用 DefaultConsumer

  8. Windows下运行jekyll,编码已不再是问题

    很久没更新jekyll了,所以好奇着去官网看了下更新记录,发现如下更新条目(版本1.3.0/2013-11-04发布): Add encoding configuration option (#144 ...

  9. TWaver 3D应用于大型数据中心(续)

    在2014年11月份,我们当时发了一篇有关TWaver HTML5 3D应用于大型数据中心的文章,该blog比较详细的描述一些常用的功能的实现方法,比如:动态添加机柜,告警,温度,湿度等相关的功能的具 ...

  10. anaconda镜像

    下载一个包老是下载不下来,于是放弃了官方版改为国内镜像. 清华镜像 (打开Anaconda Prompt   或者 打开cmd,运行下面的命令) conda config --add channels ...