asp.netmvc文件夹 中图片上传前选择文件夹 怎么办到啊??

asp.net实现文件上传 图片批量上传 Uploadif上传实例 | 一聚教程网 111cn.net
简介:文件上传在asp.net中实现有很多方法,我们也可以使用网站现成的上传组件如uploadify,我们还可以扩展这些上传组件实现多文件批量上传,本专题我们整理了一些关于asp.net实现上传文件的实例教程,也有的是结合了Silverlight插件实现。
本文我们主要讲的uploadify内容有:启用批量上传开关,大文件上传时的webconfig配置,如何处理上传结果返回的数据。
本教程来学习asp.net利用RESPONSE.WRITE的这个特性实现上传文件时实时进度的显示,本文的学习重点是asp.net页面的生命周期中前后台的交互。
以下是本人在实际项目中应用Uploadif实现多文件上传的实例,这个Uploadif被我稍整改过,主要是对于上传的文件进行分类。
asp.net实现文件上传
本文我们主要讲的uploadify内容有:启用批量上传开关,大文件上传时的webconfig配置,如何处理上传结果返回的数据。
本教程来学习asp.net利用RESPONSE.WRITE的这个特性实现上传文件时实时进度的显示,本文的学习重点是asp.net页面的生命周期中前后台的交互。
以下是本人在实际项目中应用Uploadif实现多文件上传的实例,这个Uploadif被我稍整改过,主要是对于上传的文件进行分类。
FileUpload是一个.net中文件上传控制了,我们可以直接使用.net中的FileUpload快速的实现文件上传功能的开发应用,下面小编呢详细的介绍一下FileUpload文件上传过程中一些验证判断与上传例子。
FileUpload 控件显示一个文本框控件和一个浏览按钮,使用户可以选择客户端上的文件并将它上载到 Web 服务器。用户通过在控件的文本框中输入本地计算机上文件的完整路径(例如,C:\MyFiles\TestFile.txt)来指定要上载的文件。用户也可以通过单击“浏览”按钮,然后在“选择文件”对话框中定位文件来选择文件
FileUpload是.net中的一个文件上传控制了我们可以直接通过FileUpload来实现文件上传功能,下面有需要学习的朋友一起进来学习一下。
一个较简单的ASP.NET文件上传程序的代码,可以上传RAR、ZIP、TXT、JPG、GIF、DOC等格式的文件。你可以直接复制代码保存成aspx文件即可测试。备注:本代码是使用VB.NET编写,在WIN2003+IIS(安装有.NET3.5框架)中调试通过。
文件上传在asp.net中有很多方法,这里我很给各位介绍最简单最方便的.net文件上传实例,希望给各位.net入门者带来帮助。
FileUpload 控件显示一个文本框控件和一个浏览按钮,使用户可以选择客户端上的文件并将它上载到 Web 服务器。用户通过在控件的文本框中输入本地计算机上文件的完整路径
本文章来详细介绍利用asp.net中Silverlight实现文件上传与下载实现程序,有需要了解的朋友可参考本文章来利用Silverlight对文件上传下载操作。
本文章简单的介绍了关于mvc3中实现文件或图片上传的功能,有需要了解的同学可参考一下。
本文章讲述的不是利用ajax来实现无刷新文件上传而是利用了iframe来模仿ajax实现文件无刷新上传了,有需要了的同学可以参考一下下。
如果有一个需求,要求你在BS上实现文件夹上传操作功能?你该如何实现?,这个问题恐怕要拦到很多人吧,也有需要朋友会想到插件,ajax等操作下面看看我的操作,不成熟的操作吧。
文件上传是日常开过程中最常用的功能之一,目前实现文件上传的方式多种多样。这其中较为复杂的情况就是关于大文件、多文件上传的问题,目前解决大文件、多文件上传一般借助于js或者flash组件,今天就同大家一起看一下如何使用silverlight实现这个功能,而且功能和用户体验相对会更好一些。
文章详细的介绍了关于Ext.NET+asp.net 使用SWFUpload上传大文件用法,有需要的朋友可以参考一下下哦。
文章分享二款文件上传后自动生成缩略图的asp.net实现代码,缩略图的好处可以减少服务器带宽加快图片的下载速度哦。
基于.net中来介绍几款检测上传文件大小的几种方法,后面有介绍了jquery的方法,这是国外的一个插件,有需要的朋友可以简单的参考一下。
从网上找到两款非常简单的asp.net实现文件上传代码,有需要的朋友可以参考一下哦,同时也限制了asp,aspx,php,jsp等危险的文件上传,有需要看看。
下面我们来告诉你如何把本地的图片或文件上传到服务器并且保存到数据库服务器哦,有需要的朋友可以参考一下,代码很简单的哦。只要你的表单form的名字改成我们的ifile就可以了哦。
记录60条,共2页
热门专题推荐
热议asp.net实现文件上传文章
本站相关文字专题推荐您的位置: >
> 阅读资讯:ASP.NET MVC5如何实现文件上传和地址变化处理?
ASP.NET MVC5如何实现文件上传和地址变化处理?
ASP.NET MVC5如何实现文件上传和地址变化处理?
一.上传文件和重复文件处理
文件处理的原则是:不在数据库中保存文件,只在数据库中保存文件信息(Hash值等)。采取文件的MD5重命名文件在一般情况足够处理文件的重复问题,强迫症倾向则可以考虑将MD5和其他摘要算法结合。
public static string Save(HttpPostedFileBase file, string path)
var root = &~/Upload/& + path + &/&;
var phicyPath = HostingEnvironment.MapPath(root);
Directory.CreateDirectory(phicyPath);
var fileName = Md5(file.InputStream) + file.FileName.Substring(file.FileName.LastIndexOf('.'));
file.SaveAs(phicyPath + fileName);
return fileN
二.单独文件上传
网站Logo、分类图标等各种场景需要单独文件上传的处理。通过使用UIHintAttribute或自定义继承自UIHintAttribute的特性我们将文件上传的前端逻辑的重复代码消灭,使用统一的视图文件处理。曾经使用过Uplodify和AjaxFileUploader,前者存在flash依赖和cookie问题,后者基本已经过时。此处我们采用KindEditor中的文件上传组件作为演示。非Flash的支持IE6+的方案的核心都是通过iframe方式实现伪AJax上传,核心还是通过html form post到服务器。
public class UploadModel
[Display(Name = &图标&)]
[UIHint(&Upload&)]
public string Image { }
[Display(Name = &简单模式&)]
[UIHint(&Editor&)]
[AdditionalMetadata(&useSimple&, true)]
public string Text1 { }
[Display(Name = &标准模式&)]
[UIHint(&Editor&)]
public string Text2 { }
在我们的实际项目中采取继承UIHintAttribute的方式,其中的path路径指定存储的下级地址,类似的还有DropDownAttribute、EditorAtrribute等等。仅供参考。
[AttributeUsage(AttributeTargets.Property)]
public class UploadAttribute : UIHintAttribute, IMetadataAware
public string Path { }
public UploadAttribute(string path = &&)
: base(&Upload&)
this.Path =
public virtual void OnMetadataCreated(ModelMetadata metadata)
metadata.AdditionalValues.Add(&Path&, this.Path);
Razor:在Shared中添加EditorTemplates文件夹,新建Upload.cshtml文件。
KindEditor.ready(function (K) {
var editor = K.editor({
allowFileManager: false,
allowImageUpload: true,
formatUploadUrl: false,
uploadJson: '@url',
K('#btn_@id').click(function () {
editor.loadPlugin('insertfile', function () {
editor.plugin.fileDialog({
fileUrl: K('#@id').val(),
clickFn: function (url, title) {
K('#@id').val(url);
$('#image_@id').attr('src', url);
editor.hideDialog();
$('#rest_@id').click(function () {
$('#@id').attr('value', '');
$('#image_@id').attr('src', '@Url.Content(&~/Images/default.png&)');
三.编辑器中的文件上传
编辑器中的文件上传和单独文件上传的主要区别是上传后返回值的处理,编辑器需要将url插入到编辑的位置。编辑器采用过CKeditor和UMeditor,两者都需要我改源代码才能处理路径问题。上传地址和返回值的配置如果不能方便的视图中调整的编辑器,我个人不认为是好编辑器,这就好比一个类库没法扩展和自定义配置一样。仍然采用KindEditor作为演示。Editor.cshtml的
&script type=&text/javascript&&
KindEditor.ready(function (K) {
editor = K.create('textarea[name=&@Html.IdForModel()&]', {
resizeType: 1,
allowPreviewEmoticons: false,
allowImageUpload: true,
uploadJson: '@UploadManager.UploadUrl',
formatUploadUrl: false,
allowFileManager: false
@if(useSimple)
&text&, items: [
'fontname', 'fontsize', '|', 'forecolor', 'hilitecolor', 'bold', 'italic', 'underline',
'removeformat', '|', 'justifyleft', 'justifycenter', 'justifyright', 'insertorderedlist',
'insertunorderedlist', '|', 'emoticons', 'image', 'link']
四.处理文章中的图片路径
重头戏来了,这个看似问题可以回避,其实真的无法回避。更换目录、域名和端口,使用子域名或其他域名作为图片服务器等等,这些情况让我们必须处理好这个问题,否则日后会浪费更多的时间。这不是小问题,打开支持插入图片的各个网站的编辑器,查看一下图片的路径,大多是绝对url的,又或者只基于根目录的。如果你以产品的形式提供给客户,更不可能要求客户自己挨个替换文章中的路径了。
1.在数据库中不存储文件路径,使用URL路径作为存储。
2.使用html base元素解决相对路径的引用问题。
就是base元素,可能有的人认为这个base可有可无,但在处理图片路径的问题上,没有比base更简洁更优雅的方案了。至少我没有也没找到过。其实可以把全部的静态资源都移除到外部存储,如果你需要。在测试时,我们切换回使用本地存储。
var baseUrl = UploadManager.UrlP
&!DOCTYPE html&
&meta charset=&utf-8& /&
&meta name=&viewport& content=&width=device-width, initial-scale=1.0&&
&link href=&~/favicon.ico& rel=&shortcut icon& type=&image/x-icon& /&
&title&@ViewBag.Title&/title&
&base href=&@baseUrl& /&
&script src=&~/Scripts/jquery-1.11.2.min.js&&&/script&
@RenderSection(&head&,false)
@RenderBody()
五.处理上传地址的变化
我们需要独立的图片服务器处理上传或者使用第三方的图片存储服务时,我们的上传地址改变了,如果刚刚提到的图片路径一样,因此我们将上传路径和图片路径都采取配置的方式方便更改,我们就曾经切换到又拍云又切换到自有的服务器。在我的实际使用时配置在数据中使用时采用缓存。为了便于演示我们直接使用配置文件。
首先定义配置文件的处理程序
public class UploadConfig : IConfigurationSectionHandler
public object Create(object parent, object configContext, System.Xml.XmlNode section)
var config = new UploadConfig();
var urloadUrlNode = section.SelectSingleNode(&UploadUrl&);
if (urloadUrlNode != null && urloadUrlNode.Attributes != null && urloadUrlNode.Attributes[&href&] != null)
config.UploadUrl = Convert.ToString(urloadUrlNode.Attributes[&href&].Value);
var urlPrefixNode = section.SelectSingleNode(&UrlPrefix&);
if (urlPrefixNode != null && urlPrefixNode.Attributes != null && urlPrefixNode.Attributes[&href&] != null)
config.UrlPrefix = Convert.ToString(urlPrefixNode.Attributes[&href&].Value);
public string UploadUrl { }
public string UrlPrefix { }
在web.config中配置
&configSections&
&section name=&UploadConfig& type=&SimpleFileManager.UploadConfig, SimpleFileManager& requirePermission=&false& /&
&/configSections&
&UploadConfig&
&UploadUrl href=&~/File/Upload/& /&
&UrlPrefix href=&~/Upload/& /&
&/UploadConfig&
使用UploadMange缓存和管理配置
public static class UploadManager
private static string uploadU
private static string urlP
static UploadManager()
var config = ConfigurationManager.GetSection(&UploadConfig&) as UploadC
var url = config != null && !string.IsNullOrEmpty(config.UploadUrl) ? config.UploadUrl : &~/File/Upload&;
uploadUrl = url.StartsWith(&~&) ? UploadHelper.GetUrlFromVisualPath(url) :
var prefix = config != null && !string.IsNullOrEmpty(config.UrlPrefix) ? config.UrlPrefix : &~/Upload&;
urlPrefix = prefix.StartsWith(&~&) ? UploadHelper.GetUrlFromVisualPath(prefix) :
public static string UploadUrl
return uploadU
public static string UrlPrefix
return urlP
文件Hash的Md5、返回值的Json处理、完整URL的生成和文件的保存这些具体技术的依赖为了便于演示,统一放置在UploadHelper中,因为这些不是重点。实际应用中可以采取接口隔离并通过IoC注入的方式解耦。
以上就是ASP.NET MVC5如何实现文件上传与地址变化处理的全部过程,希望对大家的学习有所帮助。
本文地址:
相关文章列表asp.net如何实现批量多选文件上传
多选文件上传,已经非常多了,选择性多了可能有时候要比较下哪个更合适,结合到项目中使用更方便才是最重要的。很多的多选上传基本上都是调用的swf文件,确实用flash 或flex开发一个多选上传的功能很方便,比如flex里内置的FileReferenceList对象本身就支持文件的多选,有这个的话就方便多了,下面要说的主要也是基于flex开发的一个多选上传功能。
主要实现的功能如下:
一、选择多个文件上传并显示单个文件的上传进度
二、显示所有文件总的上传进度
三、显示所有上传文件的总大小
四、上传前可以删除任意选定一个或多个文件(按住Ctrl或Shift键)
五、ASP.NET页面调用生成的swf文件异步上传到服务器
先看下演示的截图,如下:
大致功能和上面截图一样,下面主要说下ASP.NET里怎么调用,FLEX的里面代码我这里就不详细说明了,FLEX里面的代码不多,文章后面提供下载,用flex3.0或4.0可以打开运行。
其中有一个地方说明一下,就是在多选删除的地方,为了保证随意多选删除的正确性,需要把选定的索引项降序排序,每次从数组最大处删除,避免循环删除时索引超界。
function deleteItem():void{
&var selectItems:Array = process_list.selectedI
&var selectIndex:Array = process_list.selectedI
&selectIndex = selectIndex.sort(2);//索引按降序排序
&var iCount:int = selectItems.
&var sizeMum:Number = 0;
&for(var i:int=0;iiCi++){
&info.splice(selectIndex[i],1);
&fileRef.fileList.splice(selectIndex[i],1);//移除的选择项按索引从大到小移除,以便移除过程中索引不超界
&for(var j:Number=0;jfileRef.fileList.j++){&&
&sizeMum+=fileRef.fileList[j].&&
&process_list.dataProvider =
&tip_txt.text=&共&+fileRef.fileList.length+&个文件 &+(sizeMum/()).toFixed(4).toString()+&MB&;
&if(info.length0){
&delete_btn.enabled =
调用其实也比较简单,新建一个asp教程x页面加载生成的swf文件,这里生成的文件名是upload.swf,利用flex内置的swfobject.js里面的方法加载,如下:
&xmlns=&http://www.w3.org/1999/xhtml& &
&& type=&text/css教程& media=&screen&&
& html, body { height:100%; }
& body { margin:0; padding:0; overflow: text-align:
&& background-color: # }
& #flashContent { display: }
& type=&text/网页特效& src=&swfobject.js&&
& type=&text/javascript& &
& var swfVersionStr = &10.0.0&;
& var xiSwfUrlStr = &playerProductInstall.swf&;
& var flashvars = {};
& flashvars.url = &SaveFile.aspx?Param=ID|100,NAME|测试用户&;
& var params = {};
& params.quality = &high&;
& params.bgcolor = &#ffffff&;
& params.allowscriptaccess = &sameDomain&;
& params.allowfullscreen = &true&;
& var attributes = {};
& attributes.id = &upload&;
& attributes.name = &upload&;
& attributes.align = &middle&;
& swfobject.embedSWF(
& &upload.swf&, &flashContent&,
& &587&, &370&,
& swfVersionStr, xiSwfUrlStr,
& flashvars, params, attributes);
& function uploadCompelete(){
& //完成后的操作,如页面跳转或关闭当前页
& document.getElementById('btnUpload').disabled =
& function submitForm(){
& thisMovie(&upload&).uploadfile();
& function thisMovie(movieName) {
& if (navigator.appName.indexOf(&Microsoft&) != -1) {
&& return window[movieName];
& } else {
&& return document[movieName];
& function disabledButton()
& document.getElementById('btnUpload').disabled =
【声明】:黑吧安全网()登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱,我们会在最短的时间内进行处理。
上一篇:【】【】已经到最后一张了!
实现文件的上传和下载源码
实现文件的上传和下载功能,上传保存到指定文件夹位置
价格: 免费
累计评价:
源码目录结构图
vmware-1.log[36KB]
from.gif[4KB]
文件的上传下载.sln[1KB]
文件的上传下载.suo[8KB]
最新Asp.Net源码下载.url[123B]
一、源码特点
&&&&& 实现文件的上传和下载功能,上传保存到指定文件夹位置
二、功能介绍
&&&&& 本源码是一个实现文件的上传和下载源码,非常适合新手学习,欢迎下载
三、菜单功能
&1、上传:点击浏览,选择路径,点击上传即可。上传后的文件会保存到指定文件夹中
&2、下载:保存好的文件会显示出来,
四、注意事项
&1、开发环境为Visual Studio 2010,使用.net 4.0开发
责任编辑:
WALL·E
同类下载排行
对您有用的代码
数据库应用
ASP.NET MVC安装组件
Windows 云开发
常见技术问题
全国服务热线
运营中心:北京·中关村核心区

我要回帖

更多关于 asp.netmvc文件夹 的文章

 

随机推荐