如何在ASP.NET MVC中执行图像的Ajax / JQuery上载?
发布时间:2020-12-16 00:07:20 所属栏目:asp.Net 来源:网络整理
导读:我有一个用ASP.NET MVC编写的站点.我有一个页面,用户可以在其中创建一篇小文章.在本文中,他们可以选择一个图像.我有一个页面,他们可以上传他们的图像,在创建文章页面上,只需列出它们.但是很多人抱怨他们在发现他们没有上传他们需要的图像之前写了整篇文章.我
我有一个用ASP.NET MVC编写的站点.我有一个页面,用户可以在其中创建一篇小文章.在本文中,他们可以选择一个图像.我有一个页面,他们可以上传他们的图像,在创建文章页面上,只需列出它们.但是很多人抱怨他们在发现他们没有上传他们需要的图像之前写了整篇文章.我想要的是让用户能够从创建文章页面上传图像,然后重新加载我可能的图像下拉列表进行选择.
我想在页面上制作一个单独的多部分表单,并让用户在那里选择一个文件(基本上使用我现有的上传功能).但是我如何提交异步?如何重新渲染我的图像列表异步? 如何使用jquery / ajax上传此图像,然后重新填充我的下拉列表? /干杯 解决方法
我已经使用过这个
jQuery pluging了几次.
我将上传按钮放在使用PopupImageUploader元素的 jQuery UI modal dialog中. <div id="PopupImageUploader" title="Upload Image"> <div id="uploaderFile"></div> </div> 我的javascript在元素upladerFile上构建上传器 function CreateImageUploader() { var uploader = new qq.FileUploader({ element: $('#uploaderFile')[0],template: '<div class="qq-uploader">' + '<div class="qq-upload-drop-area"><span>Drop files here to upload</span></div>' + '<div class="qq-upload-button ui-button ui-widget ui-corner-all ui-button-text-only ui-state-default">Seleziona il Listino Excel</div>' + '<ul class="qq-upload-list"></ul>' + '</div>',hoverClass: 'ui-state-hover',focusClass: 'ui-state-focus',action: 'Home/UploadImage',allowedExtensions: ['jpg','gif'],params: { },onSubmit: function(file,ext) { },onComplete: function(id,fileName,responseJSON) { $("#PopupImageUploader").dialog('close'); } } }); } 您可以使用onComplete事件检查上传结果,并最终更新您的下拉列表. [HttpPost()] public System.String UploadImage(string id) { bool IsIE = false; string sFileName = ""; var TempFolder = Path.Combine(AppDomain.CurrentDomain.BaseDirectory,"_TEMP"); if ((Request.Files == null) || (Request.Files.Count == 0)) { if (string.IsNullOrEmpty(Request.Params["qqfile"])) { return ("{success:false,error:'request file is empty'}"); } else { sFileName = Request.Params["qqfile"].ToString(); } } else { sFileName = Request.Files[0].FileName; IsIE = true; } if (string.IsNullOrEmpty(sFileName)) { return ("{success:false,error:'request file is empty'}"); } string DocumentName = id + Path.GetExtension(sFileName); if (IsIE) { try { Request.Files[0].SaveAs(Path.Combine(TempFolder,DocumentName)); } catch (Exception ex) { return ("{success:false,error:'" + ex.Message + "'}"); } } else { try { if ((Request.InputStream != null) && (Request.InputStream.CanRead) && (Request.InputStream.Length > 0)) { using (FileStream fileStream = new FileStream(Path.Combine(TempFolder,DocumentName),FileMode.Create)) { byte[] FileBytes = new byte[Convert.ToInt32(Request.InputStream.Length) + 1]; Int32 bytesRead = 0; bytesRead = Request.InputStream.Read(FileBytes,FileBytes.Length); fileStream.Write(FileBytes,bytesRead); fileStream.Flush(); fileStream.Close(); } } } catch (Exception ex) { return ("{success:false,error:'" + ex.Message + "'}"); } } var newFileName = "new assigned filename"; return ("{success:true,newfilename: '" + newFileName + "'}"); } IE有不同的行为,所以我有两个不同的过程来读取文件. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 使用母版页在ASP.NET应用程序上切换语言
- asp.net – 我没有选择母版页的选项
- asp-classic – 在ASP Classic应用程序中获取根目录
- asp.net – 在Visual Studio 2010中更改“切换到标记”的快
- .net – Linq:获取DataContext中所有表的列表
- asp.net-mvc-3 – 在ASP.NET MVC中,“<%=”,“<%:”“&a
- .net – 什么是类的默认访问修饰符?
- asp.net – 处理“潜在的危险Request.Form值…”
- asp.net-mvc – 以视图的形式显示视图中多个表的数据 – AS
- ASP.NET MVC中的静态文件授权与Owin
推荐文章
站长推荐
- asp.net – 使用DataPager而不检索每个请求的所有
- asp.net-mvc – Sitecore PageEditor随机显示Gla
- 如何基于.NET Core创建ASP.NET项目,而不是基于完
- asp.net-mvc – Asp.net MVC:上传多个图像文件?
- asp.net-mvc – 在OWIN登录上检索用户的Facebook
- asp.net-mvc – 将WebForm视图引擎标记转换为Raz
- 将ASP.NET成员资格表添加到我自己的现有数据库中
- asp.net – 文件下载问题:文件名与空格被截断!
- asp.net-core – VS 2015中的Asp.net核心EF
- asp.net-mvc – 全局访问Ninject内核
热点阅读