jquery下载文件请求java下载⽂件前后端代码_java附件上传、下载前后端代码前⾔:业务需要:附件上传,需要同时满⾜浏览器上传,和APP上传附件,并且浏览器端不可使⽤form表单提交,因为表单提交⽆法直接获取返回值,除⾮刷新页⾯才可显⽰上传的附件。所以此处使⽤ajaxfileupload.js,后台使⽤的框架是SSH,所以写了⼀个servlet来处理上传附件。
ajaxfileupload.js是⼀个异步上传⽂件的jQuery插件
语法:$.ajaxFileUpload([options])
options参数说明:
1、url 上传处理程序地址。
2,fileElementId 需要上传的⽂件域的ID,即的ID。
3,secureuri 是否启⽤安全提交,默认为false。
4,dataType 服务器返回的数据类型。可以为xml,script,json,html。如果不填写,jQuery会⾃动判断。
指针数组存放的是地址吗5,success 提交成功后⾃动执⾏的处理函数,参数data就是服务器返回的数据。
6,error 提交失败⾃动执⾏的处理函数。
7,data ⾃定义参数。这个东西⽐较有⽤,当有数据是与上传的图⽚相关的时候,这个东西就要⽤到了。
8, type 当要提交⾃定义参数时,这个参数要设置成post
错误提⽰:
1,SyntaxError: missing ; before statement错误
如果出现这个错误就需要检查url路径是否可以访问
2,SyntaxError: syntax error错误
如果出现这个错误就需要检查处理提交操作的服务器后台处理程序是否存在语法错误
3,SyntaxError: invalid property id错误
如果出现这个错误就需要检查⽂本域属性ID是否存在
4,SyntaxError: missing } in XML expression错误
如果出现这个错误就需要检查⽂件name是否⼀致或不存在
代码部分:
HTML:
提交
JavaScript:
/**
* 上传附件
* @param fileId 附件上传input ID
* @param sourceType 上传类型 1、任务附件 2、回复附件 3、 任务结束附件
* @param fileList 显⽰附件列表容器id
* @param textFile 显⽰选中附件名称容器id
* @returns {Boolean}
*/
function ajaxFileUpload(fileId,sourceType,fileList,textFile) {
var replyId = $("#replyId").val();
if(sourceType != 2){
replyId = "";
}
if(replyId == undefined){
replyId="";
}
//显⽰正在上传的⽂件
$("#fileList tr").css("display","");//显⽰正在上传的⽂件
var taskId = $("#taskId").val();
var userid = $("#userID").val();
var name = $("#userName").val();
var url = "/Upload?
taskId="+taskId+"&replyId="+replyId+"&userid="+userid+"&name="+name+"&sourceType="+sourceType+"&isApp=noapp"; if($("#"+fileId).val()!=""){
$.ajaxFileUpload
(arduino发音
{
url: url, //⽤于⽂件上传的服务器端请求地址
secureuri: false, //是否需要安全协议,⼀般设置为false
fileElementId: fileId, //⽂件上传域的ID
dataType: 'json', //返回值类型 ⼀般设置为json
success: function (data, status) //服务器成功响应处理函数
{
if(status=="success" && ssage=="success"){
//alert("上传成功");
$("#"+fileList).empty();
for(var i=0;i
var html='
'+
'
成功'+
'
'+data.list[i].fileName+' - '+data.list[i].fileSize/1000+'K'+
"
"+
'
';
$("#"+fileList).append(html);
}
if(sourceType == "3"){//如果是结束任务时上传的附件,需要局部刷新附件列表getTaskAnnexList(taskId);
}
$("#"+textFile).val("");
var file = $("#"+fileId);
file.after(file.clone().val(""));
}else if(status=="success" && ssage=="failure"){
sult);
}
},
error: function (data, status, e)//服务器响应失败处理函数
{
alert(e);
}
}
)
return false;
}else{}
}
/**
* 显⽰选中的⽂件(⼀个显⽰名字,多个显⽰个数)
* @param obj
* @param textFile 显⽰选中附件名称容器id
* @param fileList 显⽰附件列表容器id
*/
function showUploadFileName(obj,textFile,fileList){
var t_files = obj.files;
for (var i = 0, len = t_files.length; i < len; i++) {
if(t_files[i].size>10*1024*1024){
alert(t_files[i].name+" ⼤⼩超过了10M了,请重新上传");
python中缩进是强制的吗return;
}else{
if(t_files.length>1){
$("#"+textFile).val(t_files[0].name+"等"+t_files.length+"个⽂件"); }else{
$("#"+textFile).val(obj.value);
}
}
var html = '
'+
可爱边框手绘'
上传'+
'
'+t_files[i].name+' - '+t_files[i].size/1000+'K'+
'
'+
'
';
$("#"+fileList).prepend(html);
}
}
java 后台代码
Upload
Upload
/Upload
servlet:
idit.features.task.util;
import it.sauronsoftware.jave.AudioAttributes;
import it.sauronsoftware.jave.Encoder;
import it.sauronsoftware.jave.EncoderException;
import it.sauronsoftware.jave.EncodingAttributes;
import it.sauronsoftware.jave.InputFormatException;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
DateFormat;
SimpleDateFormat;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import java.util.UUID;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
go语法基础知识import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.apachemons.fileupload.FileItem;
import org.apachemons.fileupload.FileUploadBase;
import org.apachemons.fileupload.disk.DiskFileItemFactory; import org.apachemons.fileupload.servlet.ServletFileUpload; import org.jaudiotagger.audio.AudioFileIO;
import org.jaudiotagger.audio.mp3.MP3AudioHeader;
import org.jaudiotagger.audio.mp3.MP3File;
n.jdbc.dao.util.JDBCTools;
/**
* Servlet implementation class FileDemo
*/
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论