解决了上传文件大小限制之后,就需要对文件上传的服务端代码进行编写。
先理清上传步骤,uploadify插件在与用户交互时首先是向用户索要需要上传的文件队列,当用户
选择好所有要上传的文件,点击上传按钮,插件首先确保文件大小是否符合客户端文件大小限
制,验证通过后逐个向服务器发送HTTP请求,这里处理HTTP请求的代码写在了ashx中,
$(function () {
$('#file_upload').uploadify({
'auto': false,
'successTimeout': 99999,
'swf': '../../Source/Style/Plugins/Uplodify/uploadify.swf',
'queueID': 'uploadfileQueue',
'buttonText': '选择文件',
'uploader': '../../Server/Ajax/System/UploadFilesHandler.ashx',
'fileSizeLimit': '0',
'queueSizeLimit': 5,
'progressData': 'speed',
'formData': { 'Path': 'Hr\\Video\\' }, //Path文件夹
'overrideEvents': ['onDialogClose'],
'fileTypeExts': '*.flv'
})
})
ajax服务端代码如下:
try
{
HttpPostedFile File;//文件对象
string Path;//目录
string FileName;//文件名称
context.Response.ContentType = "text/plain";
context.Response.Charset = "utf-8";
File = context.Request.Files["FileData"];
Path = context.Request.Params["Path"];
if (Path != "") Path = Path + "\\";
FileName = File.FileName;
FileName = Guid.NewGuid().ToString().ToUpper() + '.'
+ FileName.Substring(FileName.LastIndexOf('.')+1,FileName.Length - FileName.LastIndexOf(".") - 1);
Path = context.Server.MapPath(ComFunction.GetConfig("UpLoadPath") + Path);
//检测文件夹
if (Directory.Exists(Path) == false)
Directory.CreateDirectory(Path);
string newFileName = FileName;
FileName = Path + FileName;
File.SaveAs(FileName);
context.Response.Write(newFileName);
}
catch (Exception e)
{
//出错的话返回0
context.Response.Write(e.Message);
}
}
后台首先取得文件名和存放文件路径,判断路径是否存在,不存在则创建文件夹,然后执行存储文件,调试能够正常上传。
这里为了使文件名不重复用到了Guid类随机生成文件名,从而直接避免了用户上传同名文件时的判断,最初想要先判断该文件夹下是否存在同名文件,不存在则存储文件,存在则询问用户是否替换,但这种做法不利于记录文件版本的更新状况,至此,文件上传从前台到后台的所有操作已完成。
分享到:
相关推荐
主要为大家详细介绍了使用fileupload实现文件上传功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
用java实现上传视频、音频、pdf等文件。可以直接导入eclipse使用,测试服务可以用Tomcat等服务,夸平台可以在linux和weindows以及solaris下运行。
java上传视频转码播放的一个demo,实现java上传视频、转码、截图和播放功能
一个简单地文件管理系统,实现了文件的上传、下载、移动等功能,支持大部分类型文件的预览,支持视频浏览,音乐播放等。。。一个个人文件管理系统的源码脚手架,r-pan基于此脚手架搭建,版本更新内容(更换了前端...
1、修复大文件上传,上传到100%,合并文件这步容易失败(失败原因是文件越大合并耗时越长,超出运行时间就会超时失败,增加设置长运行时间来解决) 2、增加断点续传功能(标题写有 断点续传,试了下和代码里也没看到...
断点续传可以实现这样的功能,比如RD上传200M的文件,当用户上传完199M时,断网了,有了断点续传的功能,我们允许RD再次上传时,能从第199M的位置重新上传。 实现原理: 实现断点续传的前提是,大文件切片上传。...
CKEditor实现本地视频和图片的上传功能,不用kfinal
网上有很多种文件上传的方法,根据公司最近的业务需求,要求实现多种文件的上传,在实现过程中,查阅了很多资料,最后,终于把功能实现了,开心! <v xss=removed></v> <div class=forPreview_video v-...
主要介绍了node.js express框架实现文件上传与下载功能,结合具体实例形式详细分析了node.js express框架针对文件上传与下载的前后台相关实现技巧,需要的朋友可以参考下
vant 中的上传组件只能上传图片跟其他文件,只带默认的预览. 这里支持视频预览.视频录制.可同时选中相册的视频跟图片一起上传.npm run dev 就可以了.免c币下载地址: ...
vue移动端input上传视频、音频,供大家参考,具体内容如下 html部分 现场视频 <video id=videoId controls width=100%></video> <input style=display:none; id=pop_video type=file accept=...
2. 视频上传功能:用户可以上传自己的视频文件,并填写相关信息进行视频发布;3. 视频管理功能:管理员可以管理用户权限,管理视频信息,包括删除、修改视频信息等;4. 视频分类功能:系统对视频进行分类管理,用户...
在html5网页中实现用手机相机拍照功能,并上传照片给后台.zip
FTP的上传下载功能 视频演示:https://space.bilibili.com/1624771
java上传视频转码播放的一个demo,实现java上传视频、转码、截图和播放功能
在web开发过程中,很多要实现文件上传功能,这里给大家提供一个使用jQuery实现文件上传的Demo,用详细注释,希望对大家有所帮助。我就是使用这个插件实现文件上传的,很好用。
html5视频前端视频上传,手机拍照上传,手机录像上传。HLMT5中input实现多种文件上传,视频上传,图片上传,调用手机摄像头,照相机,相册等功能。
主要介绍了SpringBoot+Vue.js实现前后端分离的文件上传功能,需要的朋友可以参考下
本文实例讲述了Thinkphp5框架实现图片、音频和视频文件的上传功能。分享给大家供大家参考,具体如下: 首先是同步上传,最为基础的上传的方式,点击表单提交之后跳转那种。如下前端代码 <!DOCTYPE html> <...
用java技术实现大文件上传,可以上传视频、电影、大文档,采用分片功能,多线程上传数据,解决普通组件大文件上传速度慢,甚至不能上传的问题。