当前位置:首页 » 文件管理 » 附件上传插件

附件上传插件

发布时间: 2022-01-30 03:26:10

‘壹’ 国家艺术基金申报网上传附件显示“不支持插件”是怎么回事

确定FLASH PLAYER 安装无误且可用;

确定需要上传的文件是否完整(包括文件格式、获得时可能获得一半),然后就是兼容性了。

‘贰’ 有没有让chrome支持上传文件的插件

复制代码 代码如下: (function() { if (window.FileUpload) { return; } window.FileUpload = function (id, url) { this.id = id; this.autoUpload = true; this.url = url; this.maxSize = null; this.extensions = null; this.dropId = null; }; window.FileUpload.prototype.init = function() { var obj = this; $('#' + this.id).change(function () { if (obj.autoUpload) { obj.upload(); } }); if (this.supportsFormData()) { if (this.dropId != null) { var drop = $('#' + this.dropId)[0]; drop.addEventListener("dragover", function(e) { e.stopPropagation(); e.preventDefault(); $('#' + obj.dropId).addClass("dragover"); }, false); drop.addEventListener("dragout", function(e) { $('#' + obj.dropId).removeClass("dragover"); }, false); drop.addEventListener("drop", function(e) { e.stopPropagation(); e.preventDefault(); $('#' + obj.dropId).removeClass("dragover"); obj._uploadUsingFormData(e.dataTransfer.files[0]); }, false); } } else { if (this.dropId != null) { $('#' + this.dropId).hide(); } } }; FileUpload.prototype.supportsFormData = function() { return window.FormData != undefined; }; FileUpload.prototype.upload = function() { if (this.supportsFormData()) { this._uploadUsingFormData($("#" + this.id)[0].files[0]); } else { this._uploadUsingFrame(); } }; FileUpload.prototype._uploadUsingFrame = function() { var obj = this; var $frame = $('#uploadFrame'); if ($frame.length == 0) { $frame = $('<iframe id="uploadFrame" width="0" height="0" name="uploadFrame" src=""></iframe>'); $frame.appendTo("body"); $frame.load(function() { var response = $frame.contents().text(); try { var json = $.parseJSON(response); $(obj).trigger("onLoad", json); } catch(ex) { $(obj).trigger("onError", response); } }); } var form = $("#" + this.id).closest("form")[0]; form.target = 'uploadFrame'; form.submit(); }; FileUpload.prototype._uploadUsingFormData = function (file) { var obj = this; var xhr = new XMLHttpRequest(); xhr.addEventListener("load", function (e) { var json = $.parseJSON(xhr.response); $(obj).trigger("onLoad", json); }, false); xhr.addEventListener("error", function (e) { $(obj).trigger("onError", e); }, false); xhr.upload.addEventListener("progress", function (e) { if (e.lengthComputable) { $(obj).trigger("onProgress", e.loaded, e.total); } }, false); xhr.open("POST", obj.url); if (obj.maxSize != null&&file.size>obj.maxSize) { $(obj).trigger("onMaxSizeError"); return; } if (obj.extensions != null) { var name = file.name; var ext = name.substring(name.lastIndexOf("."), name.length).toLowerCase(); if (obj.extensions.indexOf(ext) < 0) { $(obj).trigger("onExtensionError"); return; } } var formData = new FormData(); formData.append("files", file); xhr.send(formData); }; FileUpload.prototype.onLoad = function(handler) { $(this).bind("onLoad", function(sender, args) { handler && handler(args); }); }; FileUpload.prototype.onProgress = function (handler) { $(this).bind("onProgress", function(sender, loaded, total) { handler && handler(loaded, total); }); }; FileUpload.prototype.onError = function (handler) { $(this).bind("onError", function(sender, error) { handler && handler(error); }); }; FileUpload.prototype.onMaxSizeError = function(handler) { $(this).bind("onMaxSizeError", handler); }; FileUpload.prototype.onExtensionError = function (handler) { $(this).bind("onExtensionError", handler); }; })();

‘叁’ javaWEB项目中如何实现批量选择文件并上传呢有什么好的插件,最好有相关代码例子

jquery.uploadify批量上传控件
[html]
<linkhref="styles/uploadify.css"rel="stylesheet"type="text/css"/>
<scripttype="text/javascript"src="styles/uploadify.swf"></script>
<scripttype="text/javascript"src="javascripts/jquery.uploadify.min.js"></script>
<linkhref="styles/uploadify.css"rel="stylesheet"type="text/css"/>
<scripttype="text/javascript"src="styles/uploadify.swf"></script>
<scripttype="text/javascript"src="javascripts/jquery.uploadify.min.js"></script>还有jquery.js,你懂得!
这里注意哦,css文件会引用到这个图片哦,所以请你指定这个图片的位置哦,不然就没有显示这个叉叉哦,这个叉叉是删除按钮的哦,没有就是空白哦!


[javascript]
<script>
functionsnedUpLoad(){
varpid=$("#entityId").val();//这个是我自己获取的自定义参数
varentityName=$("#entityName").val();//同上
$("#uploadify").uploadify({//初始化uploadifyuploadify是input的id
//'debug':false,//bug模式,默认是false
'auto':false,//自动上传,就是控件自动上传,默认是true
'multi':true,
//'successTimeout':99999,//超时时间
'formData':{'pid':pid,'entityName':entityName},//我的参数列表
//'fileObjName':'uploadify',//服务器的属性名字

'uploader':'你的后台url地址;jsessionid=${pageContext.session.id}',//提交服务器路径,这里
说明下;jsessionid=${pageContext.session.id},这个是用于非IE内核的浏览器兼容的
'swf':"styles/uploadify.swf",//flash文件,官方的文件,引用上就是了
//'uploader':'/Home/Upload',//文件保存路径用处不大
'buttonText':'文件上传',//按钮
//'height':'32',//浏览按钮的高度
//'width':'100',//浏览按钮的宽度
'fileTypeDesc':'支持的格式:',//在浏览窗口底部的文件类型下拉菜单中显示的文本
'fileTypeExts':'*.jpg;*.jpge;*.gif;*.png',//允许上传的文件后缀
'fileSizeLimit':'3MB',//上传文件的大小限制
'queueSizeLimit':25,//上传数量
'onSelectError':function(file,errorCode,errorMsg){//返回一个错误,选择文件的时候触发
switch(errorCode){
case-100:
alert("上传的文件数量已经超出系统限制的"+$('#file_upload').uploadify('settings','queueSizeLimit')+"个文件!");
break;
case-110:
alert("文件["+file.name+"]大小超出系统限制的"+$('#file_upload').uploadify('settings','fileSizeLimit')+"大小!");
break;
case-120:
alert("文件["+file.name+"]大小异常!");
break;
case-130:
alert("文件["+file.name+"]类型不正确!");
break;
}
},
'onFallback':function(){//检测FLASH失败调用
alert("您未安装FLASH控件,无法上传图片!请安装FLASH控件后再试。");
},
'onUploadSuccess':function(file,data,response){//上传到服务器,服务器返回相应信息到data里
if(data){
vardataObj=eval("("+data+")");//转换为json对象
//$('#uploadify').uploadify('upload')
}
}
});
}
</script>
<script>
functionsnedUpLoad(){
varpid=$("#entityId").val();//这个是我自己获取的自定义参数
varentityName=$("#entityName").val();//同上
$("#uploadify").uploadify({//初始化uploadifyuploadify是input的id
//'debug':false,//bug模式,默认是false
'auto':false,//自动上传,就是控件自动上传,默认是true
'multi':true,
//'successTimeout':99999,//超时时间
'formData':{'pid':pid,'entityName':entityName},//我的参数列表
//'fileObjName':'uploadify',//服务器的属性名字

'uploader':'你的后台url地址;jsessionid=${pageContext.session.id}',//提交服务器路径,这里
说明下;jsessionid=${pageContext.session.id},这个是用于非IE内核的浏览器兼容的
'swf':"styles/uploadify.swf",//flash文件,官方的文件,引用上就是了
//'uploader':'/Home/Upload',//文件保存路径用处不大
'buttonText':'文件上传',//按钮
//'height':'32',//浏览按钮的高度
//'width':'100',//浏览按钮的宽度
'fileTypeDesc':'支持的格式:',//在浏览窗口底部的文件类型下拉菜单中显示的文本
'fileTypeExts':'*.jpg;*.jpge;*.gif;*.png',//允许上传的文件后缀
'fileSizeLimit':'3MB',//上传文件的大小限制
'queueSizeLimit':25,//上传数量
'onSelectError':function(file,errorCode,errorMsg){//返回一个错误,选择文件的时候触发
switch(errorCode){
case-100:
alert("上传的文件数量已经超出系统限制的"+$('#file_upload').uploadify('settings','queueSizeLimit')+"个文件!");
break;
case-110:
alert("文件["+file.name+"]大小超出系统限制的"+$('#file_upload').uploadify('settings','fileSizeLimit')+"大小!");
break;
case-120:
alert("文件["+file.name+"]大小异常!");
break;
case-130:
alert("文件["+file.name+"]类型不正确!");
break;
}
},
'onFallback':function(){//检测FLASH失败调用
alert("您未安装FLASH控件,无法上传图片!请安装FLASH控件后再试。");
},
'onUploadSuccess':function(file,data,response){//上传到服务器,服务器返回相应信息到data里
if(data){
vardataObj=eval("("+data+")");//转换为json对象
//$('#uploadify').uploadify('upload')
}
}
});
}
</script>

[javascript]
$(function(){
snedUpLoad();//jquery容器加载完运行我们的函数
})
$(function(){
snedUpLoad();//jquery容器加载完运行我们的函数
})


[html]
<inputtype="file"name="uploadify"id="uploadify"/>//申明控件的容器
<inputtype="file"name="uploadify"id="uploadify"/>//申明控件的容器
前台页面代码基本就这样了,很好明白,至于后台逻辑和普通上传处理一致的,这里就不列出来的,最后上一张图给大家鉴赏一下
(tip:其实他的批量上传并不是一次全部提交处理的,他是一个一个依次提交,相当是一个for循环,所以后台处理的同时只是一个文件上传,即排序的处理上传文件,就和单个文件上传的代码一样,如果你早有后台的单文件上传代码就不用改,直接调用就行了,可以共用)

‘肆’ jquery 除了上传插件Uploadify以外有没有别的上传插件,这个插件是选择文件就直接上传了

Uploadify有个方法可以设置,下面这样设置,就不会直接上传了
uploadifySettings('auto', false)

你加个按钮,执行js:
$('#uploadify').uploadifyUpload();//开始上传

‘伍’ 谷歌浏览器上传附件的插件不好使了 请问这个该怎么办

这是flash版本过低被停用了,安装chrome到最新版,然后到flash官网下载
flashplayer24pp_va_install,然后重启chrome即可

‘陆’ 求一款jQuery或js多图上传插件

多图上传没问题,但是想上传后可以删除,可以修改名称。这个只能你自己来实现。之前专门写了一个上传插件希望能帮到你

http://blog.csdn.net/sq111433/article/details/16872403

‘柒’ 文件上传,下载插件怎么写,

http://ci..com/QdsBf92kop

‘捌’ .net网站,文件上传控件

uploadify控件
js: $("#uploadify_HB_SZGT").uploadify({
'swf': '../JS/uploadify/uploadify.swf',
'uploader': '../JS/uploadify/upload_HB_SZGT.ashx',
'buttonText': '添加附件',
'buttonClass': 'button-class',
'buttonCursor': 'hand',
'fileSizeLimit': '2097152KB',
'fileTypeExts': '*.gif; *.jpg; *.png;*.pdf;*.txt;*.doc;*.wps;*.xls;*.jpeg',
'folder': 'dzka_ba',
'queueID': 'fileQueue',
'auto': true,
'multi': false,
'fileObjName': 'Filedata',
'method': 'GET',
'removeCompleted': false,
'onUploadStart': function (file) {
//设置值
var fj_sbxh = $("#ContentPlaceHolder1_hidSBXH").val();
if (fj_sbxh == "") {
alert("请您先登录");
return;
}
var fj_dzzlzlbh = $("#slDZZLZL").val(); //单证种类编号
var fj_dzzlzlmc = $("#slDZZLZL").find("option:selected").text(); //单证种类名称
var fj_sblx = $("#txtSBLX").val(); //申报类型
var fj_QFRQ = ($("#txtQFRQ").val() == "") ? "E" : $("#txtQFRQ").val(); //签发日期
var fj_YXQ = ($("#txtYXQ").val() == "") ? "E" : $("#txtYXQ").val(); //有效期
var fj_SFHL = ($("#txtSFHL").val()=="") ? "E" : $("#txtSFHL").val();//水份含量

var fj_CXGJZ = ($("#txtCXGJZ").val() == "") ? "E" : $("#txtCXGJZ").val(); //查询关键字
var fj_WJLX = $("#slWJLX").val(); //文件类型

$("#uploadify_HB_SZGT").uploadify("settings", "formData", { 'cs_dzzlzlbh': fj_dzzlzlbh, 'cs_dzzlzlmc': fj_dzzlzlmc, 'cs_sblx': fj_sblx,'cs_SFHL':fj_SFHL, 'cs_QFRQ': fj_QFRQ, 'cs_YXQ': fj_YXQ,'cs_CXGJZ': fj_CXGJZ, 'cs_WJLX': fj_WJLX, 'cs_sbxh': fj_sbxh});
}
});
ashx:

public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
context.Response.Charset = "utf-8";
string sbxh = context.Request.Form["cs_sbxh"].ToString();
string dzzlzlbh = context.Request.Form["cs_dzzlzlbh"].ToString();
string dzzlzlmc = context.Request.Form["cs_dzzlzlmc"].ToString();
string sblx = context.Request.Form["cs_sblx"].ToString();

string first_CXGJZ = context.Request.Form["cs_CXGJZ"].ToString();
string CXGJZ = (first_CXGJZ == "E") ? "" : first_CXGJZ;
string WJLX = context.Request.Form["cs_WJLX"].ToString();

HttpPostedFile file = context.Request.Files["Filedata"];
string uploadPath =
HttpContext.Current.Server.MapPath(context.Request.ApplicationPath) + "czkh_file\\wxp\\cs\\";

if (file != null)
{
if (!Directory.Exists(uploadPath))
{
Directory.CreateDirectory(uploadPath);
}
//如果Session不能用的话,用Cache
//检测是否存在相同文件名的文件
string filename = file.FileName.ToString();
string hz = filename.Substring(filename.LastIndexOf("."));//后缀名
//“DZKA_WXPHS_”+申报序号+“_”+单证种类编号+“_”+顺序号+“.”+文件后缀
string fileSavePath = Function.getUniqueName(uploadPath + "DZKA_WXPCS_" + sbxh + "_" + dzzlzlbh+ hz);
string wjccmc = fileSavePath.Substring(fileSavePath.LastIndexOf("\\")+1);//文件存储名称
string wjxdlj = "/czkh_file/wxp/cs";//文件相对路径
file.SaveAs(fileSavePath);
int zlxh;
DataTable dtxh = C_WXP_FSZL.getmaxXH(new OracleParameter(":SBXH", sbxh),
new OracleParameter(":SBLX", sblx),
new OracleParameter(":DZZLBH", dzzlzlbh));
if (dtxh.Rows.Count > 0)
{
string strxh = dtxh.Rows[0]["XH"].ToString();
if (string.IsNullOrEmpty(strxh))
{
zlxh = 1;
}
else
{
zlxh = Convert.ToInt32(strxh) + 1;
}
}
else
{
zlxh = 1;
}
C_WXP_FSZL.insert(new OracleParameter(":SBXH", sbxh),
new OracleParameter(":SBLX", sblx),
new OracleParameter(":DZZLBH", dzzlzlbh),
new OracleParameter(":HWXH", "0"),
new OracleParameter(":XH",zlxh),
new OracleParameter(":ZLBH", ""),
new OracleParameter(":ZLMC", dzzlzlmc),
new OracleParameter(":JYBH", ""),
new OracleParameter(":QFRQ", ""),
new OracleParameter(":YXQ", ""),
new OracleParameter(":NJRQ", ""),
new OracleParameter(":HWMC", ""),
new OracleParameter(":SDLB", ""),
new OracleParameter(":WJMC", filename),
new OracleParameter(":ZJS", ""),
new OracleParameter(":BCSYJS", ""),
new OracleParameter(":SYJS", ""),
new OracleParameter(":GS", ""),
new OracleParameter(":SFCFSY", ""),
new OracleParameter(":YFHL", ""),
new OracleParameter(":SFHL", ""),
new OracleParameter(":DD", ""),
new OracleParameter(":SJ", ""),
new OracleParameter(":SFYQX", ""),
new OracleParameter(":QXJZQK", ""),
new OracleParameter(":MC", ""),
new OracleParameter(":SFJGJY", ""),
new OracleParameter(":JYRQ", ""),
new OracleParameter(":ZHBZFA", ""),
new OracleParameter(":WJXDLJ",wjxdlj),
new OracleParameter(":WJCCMC",wjccmc));
//下面这句代码缺少的话,上传成功后上传队列的显示不会自动消失
context.Response.Write("1");
}
else
{
context.Response.Write("0");
}
}

‘玖’ 页面上有一个文件上传控件FileUpload1,旁边用一个按钮,点击按钮,如何实现上传功能

首先给这个按钮绑定一个后台Click事件,

protected void Submit_Click(object sender, EventArgs e)
{
UploadFilesToServer(this.fileUpload.FileName,FileEnum.FileEnumType.bookDown,imgFile);
}

/// <summary>
/// 将文件保存到服务器
/// </summary>
/// <param name="filePath">上传控件中的路径</param>
/// <param name="type">上传文件的类型</param>
/// <param name="imgFile"></param>
/// <returns></returns>
public string UploadFilesToServer(string filePath, FileEnum.FileEnumType type, HttpPostedFile imgFile)
{
if (!string.IsNullOrEmpty(filePath))
{
string houzui = new FileInfo(filePath).Extension;
if (houzui.ToLower().Equals("." + FileEnum.FileExtension.zip.ToString()) || houzui.ToLower().Equals("." + FileEnum.FileExtension.rar.ToString()))
{
System.IO.FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read);
byte[] mydata = new byte[fs.Length];
int length = Convert.ToInt32(fs.Length);
fs.Read(mydata, 0, length);

string filename = DateTime.Now.ToString("yyyyMMddHHmmssffff") + houzui;
string savePath = string.Empty;
savePath = ConfigurationManager.AppSettings["uploadFilePath"] + type.ToString() + "/" + filename;
fs = new FileStream(Context.Server.MapPath(savePath), FileMode.Create, FileAccess.Write);
fs.Write(mydata, 0, mydata.Length);
fs.Flush();
fs.Close();
return savePath;
}
return string.Empty;
}
return string.Empty;
}

‘拾’ 怎么实现文件批量上传 显示进度条而且上传后不跳转页面 推荐几个上传插件

用JSP可以批量上传,要想带进度条,单单JSP似乎难以做到,但可借用一些JS插件,如:ExtJS。

ExtJS里面有进度条功能,将JSP与ExtJS内部的数据结合起来,应该可以实现,不过这种我没做过。

在我所见中,163邮箱里有这种的功能,可以参考一下。

热点内容
超级访问董卿 发布:2024-10-20 07:44:35 浏览:235
ueditor多图上传 发布:2024-10-20 07:43:03 浏览:725
三星on7配置怎么样 发布:2024-10-20 07:39:26 浏览:430
android第三方so 发布:2024-10-20 07:37:52 浏览:881
浏览器书签文件夹 发布:2024-10-20 07:32:47 浏览:169
vbnet文件夹选择 发布:2024-10-20 07:19:28 浏览:311
jira国内访问慢 发布:2024-10-20 07:08:29 浏览:698
旧密码在哪里找 发布:2024-10-20 06:48:59 浏览:828
存储rpo 发布:2024-10-20 06:30:03 浏览:232
如何看苹果手机型号配置 发布:2024-10-20 06:29:56 浏览:128