當前位置:首頁 » 文件傳輸 » jquery上傳插件
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

jquery上傳插件

發布時間: 2022-03-30 23:40:29

A. DWZ中怎樣整合JQuery的ajaxFileUpload上傳插件

jQuery插件AjaxFileUpload可以實現ajax文件上傳,需要jQuery庫文件和ajaxfileupload.js
一.引入部分
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="ajaxfileupload.js"></script>

二.<body>部分

<img src="images/nophoto.jpg" id="picture" width="160px" height="200px"/>
<input type="file" id="touxiang" name="photo" size="10" onchange="changImg()"/>

注意:使用AjaxFileUpload插件上傳文件可不需要form

<form name="form" action="" method="POST" enctype="multipart/form-data">

……相關html代碼……

</form>

三.js部分

function changImg(){

$.ajaxFileUpload
(
{
url:'XXX.action', //上傳文件的服務端
secureuri:false, //是否啟用安全提交
dataType: 'text', //數據類型
fileElementId:'touxiang', //表示文件域ID

//提交成功後處理函數 html為返回值,status為執行的狀態
success: function(html,status)
{

},

//提交失敗處理函數
error: function (html,status,e)
{

}
}
)

}

四.原理

利用jQuery的選擇器獲得file文件上傳框中的文件路徑值,然後動態的創建一個iframe,並在裡面建立一個新的file 文件框,提供post方式提交到後台。最後,返回結果到前台。

五.總結

使用jQuery插件AjaxFileUpload實現無刷新上傳文件非常實用,由於其簡單易用,因些這個插件相比其它文件上傳插件使用人數最多,非常值得推薦。

B. 求一款jQuery或js多圖上傳插件

多圖上傳沒問題,但是想上傳後可以刪除,可以修改名稱。這個只能你自己來實現。之前專門寫了一個上傳插件希望能幫到你

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

C. jquery-file-upload插件的問題。修改data。

jquery非同步上傳,一般來說這里上傳調用的是系統專門上傳的action,上傳好後返回上傳文件信息。你這里result.files就是返回的上傳結果。這個需要你在後台自己封裝。你前端需要什麼,後台就封裝什麼。

比如我以前寫過一個

Map<String,Object>fileObject=newHashMap<String,Object>();
fileinfo.put("size",size);//原始文件大小
fileObject.put("original",original);//原始文件唯一標識
fileObject.put("originalPath",originalPath);//原始文件臨時存儲目錄
fileObject.put("thumb",thumb);//圖片的預覽文件唯一標識
fileObject.put("thumbPath",thumbPath);//圖片預覽文件臨時存儲目錄
fileObject.put("name",fileFileName);//原始圖片名稱
fileObject.put("url",url);//原始圖片的web查看地址,這個可以設置img.src屬性
fileObject.put("thumbnailUrl",thumbnailUrl);//預覽圖片的web查看地址
fileObject.put("contentType",fileContentType);//上傳文件type
fileObject.put("deleteType","POST");//這是我自己封裝的post刪除
//這個是我自己封裝的刪除路徑
fileObject.put("deleteUrl",super.getRequest().getContextPath()+"/removeUpload.do?id="+original);
Map[]fileArray=newHashMap[1];
fileArray[0]=fileObject;
JSONObjectjsonObject=newJSONObject();
jsonObject.put("files",JSONArray.fromObject(fileArray));
HttpServletResponseresponse=getResponse();
response.setContentType("application/json;charset=UTF-8");
response.getWriter().write(jsonObject.toString());
response.getWriter().flush();

而前斷可以將上傳文件的唯一標識放到一個隱藏域里,表單提交的時候一起提發送到後台,再根據唯一標識去取上傳文件信息或寫或復制轉移。

前斷fileuploaddone我是這么用的

on('fileuploaddone',function(e,data){
//上傳結果
$.each(data.result.files,function(index,file){
if(file.url){
varlink=$('<a>').attr('target','_blank').prop('href',file.url);
//這個是文件上傳後的展示區域,可以在fileuploadadd事件里構建
var$imgdiv=$(data.context.children()[index]);
var$link=$imgdiv.find("canvas").wrap(link);
$imgdiv.append($('<inputtype="hidden"name="imagefileid"/>').prop('value',file.original));
$imgdiv.append($('<inputtype="hidden"name="imagefilename"/>').prop('value',file.name));
}elseif(file.error){
varerror=$('<spanclass="text-danger"/>').text(file.error);
$(data.context.children()[index]).append(error);
}
});
})

D. 誰有jquery的上傳插件ajaxupload.3.5.js文件,傳到[email protected],謝謝

<script type="text/javascript" src="<?php echo UPLOAD; ?>/js/ajaxupload.3.5.js" ></script>
<link rel="stylesheet" type="text/css" href="<?php echo UPLOAD; ?>/styles.css" />
<script type="text/javascript" >
$(function(){
var btnUpload=$('#upload1');
var status=$('#status1');
new AjaxUpload(btnUpload, {
action: '<?php echo UPLOAD; ?>/upload-image1.php',
name: 'image1',
onSubmit: function(file, ext){
if (! (ext && /^(jpg|png|jpeg|gif)$/.test(ext))){
// extension is not allowed
status.text('僅支持: JPG, PNG 或 GIF 格式');
return false;
}
status.text('上傳中...');
},
onComplete: function(file, response){
//On completion clear the status
status.text('');
//Add uploaded file to list
if(response==="success"){
$('<li></li>').appendTo('#files1').html('<img src="<?php echo UPLOAD; ?>/uploads/image/small_image/'+file+'" alt="" /><br /> <input type="text" name="image1" value="<?php echo UPLOAD; ?>/uploads/image/small_image/'+file+'" id="some_name">').addClass('success');
}else if(response==="size_error"){
$('<li></li>').appendTo('#files1').text('建議圖片尺寸 : 寬=80px,高=80px ').addClass('error');
} else{
$('<li></li>').appendTo('#files1').text(file).addClass('error');
}
}
});

var btnUpload=$('#upload2');
var status=$('#status2');
new AjaxUpload(btnUpload, {
action: '<?php echo UPLOAD; ?>/upload-image2.php',
name: 'image2',
onSubmit: function(file, ext){
if (! (ext && /^(jpg|png|jpeg|gif)$/.test(ext))){
// extension is not allowed
status.text('僅支持: JPG, PNG 或 GIF 格式');
return false;
}
status.text('上傳中...');
},
onComplete: function(file, response){
//On completion clear the status
status.text('');
//Add uploaded file to list
if(response==="success"){
$('<li></li>').appendTo('#files2').html('<img src="<?php echo UPLOAD; ?>/uploads/image/large_image/'+file+'" alt="" /><br /> <input type="text" name="image2" value="<?php echo UPLOAD; ?>/uploads/image/large_image/'+file+'" id="some_name">').addClass('success');
}else if(response==="size_error"){
$('<li></li>').appendTo('#files2').text('正確的圖片尺寸是 : 寬=640px,高=358px ').addClass('error');
} else{
$('<li></li>').appendTo('#files2').text(file).addClass('error');
}
}
});

var btnUpload=$('#upload3');
var status=$('#status3');
new AjaxUpload(btnUpload, {
action: '<?php echo UPLOAD; ?>/upload-file.php',
name: 'uploadfile',
onSubmit: function(file, ext){
if (! (ext && /^(zip)$/.test(ext))){
// extension is not allowed
status.html('<div class="error">僅支持zip格式</div>');
return false;
}
status.text('上傳中...');
},
onComplete: function(file, response){
//On completion clear the status
status.text('');
//Add uploaded file to list
if(response==="success"){
$('<li></li>').appendTo('#files3').html('<img src="<?php bloginfo('template_url'); ?>/images/icon_zipbox_128.png" alt="" /><br /> <input type="text" name="download_file" value="<?php echo UPLOAD; ?>/uploads/file/'+file+'" id="some_name">').addClass('success');
}else if(response==="size_error"){
$('<li></li>').appendTo('#files3').text('上傳文件不應大於 10MB. ').addClass('error');
} else{
$('<li></li>').appendTo('#files3').text(file).addClass('error');
}
}
});
});

$(function(){
$('#main_cat').change(function(){
var $mainCat=$('#main_cat').val();

// call ajax
$("#sub_cat").empty();
$.ajax({
url:"<?php bloginfo('wpurl'); ?>/wp-admin/admin-ajax.php",
type:'POST',
data:'action=my_special_action&main_catid=' + $mainCat,

success:function(results)
{
// alert(results);
$("#sub_cat").removeAttr("disabled");
$("#sub_cat").append(results);
}
});
}
);
});
</script>

E. jquery uploadify插件怎樣實現上傳文件成功後 隱藏上傳上傳按鈕

可以在上傳完成的回調函數中,隱藏上傳按鈕。

F. jquery 除了上傳插件Uploadify以外有沒有別的上傳插件,這個插件是選擇文件就直接上傳了

Uploadify有個方法可以設置,下面這樣設置,就不會直接上傳了
uploadifySettings('auto', false)

你加個按鈕,執行js:
$('#uploadify').uploadifyUpload();//開始上傳

G. jquery上傳文件是怎麼實現的

本篇文章是對Jquery中的LigerUI實現文件上傳的方法,進行了分析介紹,需要的朋友可以參考下
一、在Head中加入
<script src="../lib/js/ajaxfileupload.js" type="text/javascript"></script>
<script src="../lib/js/ligerui.expand.js" type="text/javascript"></script>
二、Html中的Div代碼

復制代碼 代碼如下:
<div id="AppendBill_Div" style="display:none;"> <%-- 上傳 - 單 --%>
<table style="height:100%;width:100%">
<tr style="height:40px">
<td style="width:20%">
圖標:
</td>
<td><input type="file" style="width:200px" id="fileupload" name="fileupload"/>
</td>
</tr>
</table>
</div>

三、Js中-寫的是關鍵部分,會LigerUI的朋友-你懂得
1、grid中添加項【存地址欄位】
{ display: "掃描件", name: "AppendBillPath", width: 120, type: "text", align: "left" }
2、Form可添加項【存地址和彈出選擇框】
{ name: "AppendBillPath1", type: "hidden" }, // --上傳-【5】--
{ display: "掃描件", name: "AppendBillPath", comboboxName: "AppendBillPath2", newline: true, labelWidth: 100, width: 150, space: 30, type: "select", options: {}} // --上傳-【6】--
$.ligerui.get("AppendBillPath2").set('onBeforeOpen', f_selectAppendBillPath_1) // 【掃描件】 // --上傳-【7】--
3、事件
// #region ======================================= 【上傳掃描件窗口】 // --上傳-【8】--
復制代碼 代碼如下:
var AppendBillPathDetail = null;
function f_selectAppendBillPath_1() {
var imageurl = $("#AppendBill").val();
var AppendBill_Id = $("#AppendBill").val(); // 單號
if (imageurl.length == 0) {
LG.showError("您沒有輸入單號,請輸入隨單號!");
return;
}
if (AppendBillPathDetail) {
AppendBillPathDetail.show();
}
else {
AppendBillPathDetail = $.ligerDialog.open({
target: $("#AppendBill_Div"), title: '添加圖標',
width: 360, height: 170, top: 170, left: 280, // 彈出窗口大小
buttons: [
{ text: '上傳', onclick: function () { AppendBillPath_save(); } },
{ text: '取消', onclick: function () { AppendBillPathDetail.hide(); } }
]
});
}
}
function AppendBillPath_save()
{
var imgurl = $("#fileupload").val();
// var filehelpcode = $("#filehelpcode").val();
var extend = imgurl.substring(imgurl.lastIndexOf("."), imgurl.length);
extend = extend.toLowerCase();
if (extend == ".jpg" || extend == ".jpeg" || extend == ".png" || extend == ".gif" || extend == ".bmp")
{
}
else
{
LG.showError("請上傳jpg,jpep,png,gif,bmp格式的圖片文件");
return;
}
var imageurl = $("#AppendBill").val(); // extend
alert(imageurl);
$.ajaxFileUpload({
url: "../handle/ImageUpload.aspx?imageurl=" + imageurl, // --上傳-【9】-- aspx文件
secureuri: false,
fileElementId: "fileupload", //Input file id
dataType: "text",
success: function (data, status)
{
// ----------------- // 保存路徑
// $("#AppendBillPath2").val(Data);

LG.tip(data);
f_reload();
},
error: function (data, status, e) {
LG.showError(data);
}
});
}
// #endregion

四、後台cs,寫一句關鍵的,可以返回參數,前台提示
string url = Server.MapPath("/Image/" + gfilename + filenameext); // 執行上傳操作

H. jquery 上傳文件插件uploadify jsp版本

寫一個servlet,看這里
http://www.javaeye.com/topic/376101

I. jQuery實現文件上傳。

/*jQuery實現文件上傳,參考例子如下:
packagecom.kinth.hddpt.file.action;

importjava.io.File;
importjava.io.FileNotFoundException;
importjava.io.FileOutputStream;
importjava.io.IOException;
importjava.io.InputStream;
importjava.io.OutputStream;
importjava.util.ArrayList;
importjava.util.Calendar;
importjava.util.Enumeration;
importjava.util.Hashtable;
importjava.util.List;

importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;

importnet.sf.json.JSONArray;

importorg.apache.commons.logging.Log;
importorg.apache.commons.logging.LogFactory;
importorg.apache.struts.action.ActionForm;
importorg.apache.struts.action.ActionForward;
importorg.apache.struts.action.ActionMapping;
importorg.apache.struts.upload.FormFile;
importorg.hibernate.criterion.MatchMode;
importorg.hibernate.criterion.Order;
importorg.hibernate.criterion.Restrictions;

importcom.gdcn.bpaf.common.base.search.MyCriteria;
importcom.gdcn.bpaf.common.base.search.MyCriteriaFactory;
importcom.gdcn.bpaf.common.base.service.BaseService;
importcom.gdcn.bpaf.common.helper.PagerList;
importcom.gdcn.bpaf.common.helper.WebHelper;
importcom.gdcn.bpaf.common.taglib.SplitPage;
importcom.gdcn.bpaf.security.model.LogonVO;
importcom.gdcn.components.appauth.common.helper.DictionaryHelper;
importcom.kinth.common.base.action.BaseAction;
importcom.kinth.hddpt.file.action.form.FileCatalogForm;
importcom.kinth.hddpt.file.model.FileCatalog;
importcom.kinth.hddpt.file.service.FileCatalogService;
importcom.kinth.hddpt.file.util.MyZTreeNode;

/**
*<p>
*description:「文件上傳的Struts層請求處理類」
*</p>
*@date:2013-1-14
*/
<FileCatalog>{
@SuppressWarnings("unused")
privatestaticLoglog=LogFactory.getLog(FileCatalogAction.class);//日誌記錄
;

//刪除記錄的同時刪除相應文件
publicActionForwardfileDelete(ActionMappingmapping,ActionFormform,
HttpServletRequestrequest,HttpServletResponseresponse)
throwsException{
String[]id=request.getParameterValues("resourceId");

if(id!=null&&id[0].contains(",")){
id=id[0].split(",");
}
String[]fileUrls=newString[id.length];
for(intj=0;j<id.length;j++){
fileUrls[j]=fileCatalogService.findObject(id[j]).getFileUrl();
if(!isEmpty(fileUrls[j])){
//如果該文件夾不存在則創建一個uptext文件夾
Filefileup=newFile(fileUrls[j]);
if(fileup.exists()||fileup!=null){
fileup.delete();
}
}

fileCatalogService.deleteObject(id[j]);
}
setAllActionInfos(request);
returnlist(mapping,form,request,response);
}


@Override
publicActionForwardsave(ActionMappingmapping,ActionFormform,
HttpServletRequestrequest,HttpServletResponseresponse)
throwsException{
Stringid=request.getParameter("resourceId");
BooleanfileFlag=Boolean.valueOf(request.getParameter("fileFlag"));

if(fileFlag!=null&&fileFlag==true){
returnsuper.save(mapping,form,request,response);
}else{
StringfileUrl=this.fileUpload(form,request,id,fileFlag);
response.setContentType("text/html");
response.setCharacterEncoding("GBK");
response.setHeader("Charset","GBK");
response.setHeader("Cache-Control","no-cache");
response.getWriter().write(fileUrl);
response.getWriter().flush();
}
returnnull;
}

@SuppressWarnings("unchecked")
publicStringfileUpload(ActionFormform,HttpServletRequestrequest,Stringid,BooleanfileFlag)throwsFileNotFoundException,IOException{

request.setCharacterEncoding("GBK");

StringbasePath=getServlet().getServletConfig().getServletContext().getRealPath("")+"/";
StringfilePath="uploads/";//獲取項目根路徑;

/*注釋部分對應jqueryuploaploadify插件的後台代碼,只是還存在編碼問題,默認為utf-8
StringsavePath=getServlet().getServletConfig().getServletContext().getRealPath("");//獲取項目根路徑
savePath=savePath+"\uploads\";
//讀取上傳來的文件信息
Hashtable<String,FormFile>fileHashtable=form.getMultipartRequestHandler().getFileElements();
Enumeration<String>enumeration=fileHashtable.keys();
enumeration.hasMoreElements();
Stringkey=(String)enumeration.nextElement();

FormFileformFile=(FormFile)fileHashtable.get(key);

Stringfilename=formFile.getFileName().trim();//文件名
filename=newEncodeChange().changeCode(filename);
Stringfiletype=filename.substring(filename.lastIndexOf(".")+1);//文件類型
savePath=savePath+filetype+"\";
System.out.println("path:"+savePath);
StringrealPath=savePath+filename;//真實文件路徑

//如果該文件夾不存在則創建一個文件夾
Filefileup=newFile(savePath);
if(!fileup.exists()||fileup==null){
fileup.mkdirs();
}
if(!filename.equals("")){
//在這里上傳文件
InputStreamis=formFile.getInputStream();
OutputStreamos=newFileOutputStream(realPath);
intbytesRead=0;
byte[]buffer=newbyte[8192];
while((bytesRead=is.read(buffer,0,8192))!=-1){
os.write(buffer,0,bytesRead);
}
os.close();
is.close();
//如果是修改操作,則刪除原來的文件
Stringid=request.getParameter("resourceId");
if(!isEmpty(id)){
FileCatalogfileCatalog=fileCatalogService.findObject(id);
StringfileUrl=fileCatalog.getFileUrl();
if(!isEmpty(fileUrl)){
Filefiledel=newFile(fileUrl);
if(filedel.exists()||filedel!=null){
filedel.delete();
}
}

request.setAttribute("entity",fileCatalog);
}

response.getWriter().print(realPath);//向頁面端返回結果信息
}*/

//讀取上傳來的文件信息
Hashtable<String,FormFile>fileHashtable=form.getMultipartRequestHandler().getFileElements();
Enumeration<String>enumeration=fileHashtable.keys();
enumeration.hasMoreElements();
Stringkey=(String)enumeration.nextElement();

FormFileformFile=(FormFile)fileHashtable.get(key);

Stringfilename=formFile.getFileName().trim();//文件名
Stringfiletype=filename.substring(filename.lastIndexOf(".")+1);//文件類型
IntegerfileSize=formFile.getFileSize();


filePath+=Calendar.getInstance().get(Calendar.YEAR)+"/"+filetype+"/";
StringrealPath=basePath+filePath+filename;//真實文件路徑

if(!filename.equals("")){
//如果是修改操作,則刪除原來的文件
if(!isEmpty(id)){
FileCatalogfileCatalog=fileCatalogService.findObject(id);
StringfileUrl=fileCatalog.getFileUrl();
if(!isEmpty(fileUrl)){
fileUrl=basePath+fileUrl;
Filefiledel=newFile(fileUrl);
if(filedel.exists()||filedel!=null){
filedel.delete();
}
}
request.setAttribute("entity",fileCatalog);
}
//如果該文件夾不存在則創建一個文件夾
Filefileup=newFile(basePath+filePath);
if(!fileup.exists()||fileup==null){
fileup.mkdirs();
}
//在這里上傳文件
InputStreamis=formFile.getInputStream();
OutputStreamos=newFileOutputStream(realPath);
intbytesRead=0;
byte[]buffer=newbyte[8192];
while((bytesRead=is.read(buffer,0,8192))!=-1){
os.write(buffer,0,bytesRead);
}
os.close();
is.close();
}
filePath+=filename;
Stringresult="{"fileName":""+filename+"","fileType":""+filetype+"","fileSize":"+fileSize+","fileUrl":""+filePath+""}";
returnresult;

}

(){
returnfileCatalogService;
}

(){
this.fileCatalogService=fileCatalogService;
}

}

J. Jquery uploadify圖片上傳插件無法上傳的解決方法

首先你確定你使用的插件的版本,版本不同,產生的問題也不同,我用的是3.2.1的版本,我前幾天已經做好的功能今天運行的時候出錯了,搞了半天也不知道那錯了,最好仔細尋找,原來是jquery庫的引入問題,可能是我引入的包版本低了,我換了一個js庫立馬好了,真是坑爹啊,誰需要這個demo的可以郵件我!