ajax异步提交 java_jquery ajax异步上传

找了好久终于在网上找到了ajax异步上传文件的方法,不过网上大多数是php的 ,我改为struts2写的 大同小异,希望对学习java的人有一定的帮助。我上传的是音乐文件。ajaxfileupload.js这个js文件是主要文件,一定要导入。

jsp页面 ,其中我还做了div的隐藏*****************************

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+

":"+request.getServerPort()+path+"/";

%>

Uploadify

#div1{

color: #000000; font-size: 12px;

border: 0px solid #74B3DC;

color: #000;

background: #fff;

display:none;

}

function ajaxFileUpload(){

$.ajaxFileUpload(

{

url:'uploadAction.action',            //需要链接到服务器地址

secureuri:false,

fileElementId:'upload',                     //文件选择框的id属性

dataType: 'json',                           //服务器返回的格式

success: function (data, status)            //相当于java中try语句块的用法

{

// alert(data);

var ss =data;

// alert(ss);

var mp3Name = ss.split(";");

for(var i=0; i

//alert(mp3Name[i]);

$('#songName').val(mp3Name[0]);

$('#songsiger').val(mp3Name[1]);

}

$('#result').html('添加成功');

},

error: function (data, status, e)            //相当于java中catch语句块的用法

{

//alert("222.");

$('#result').html('添加失败');

}

}

);

target=document.getElementById('div1');

if (target.style.display=="block"){

target.style.display="none";

} else {

target.style.display="block";

}

}

歌曲

歌手

action上传后台代码*************************************

package action;

import java.io.File;

import java.io.IOException;

import java.io.OutputStream;

import org.apache.commons.io.FileUtils;

import org.apache.struts2.json.annotations.JSON;

import org.farng.mp3.MP3File;

import org.farng.mp3.TagException;

import org.farng.mp3.id3.AbstractID3v2;

import org.farng.mp3.id3.ID3v1;

import org.farng.mp3.lyrics3.AbstractLyrics3;

import com.base.BaseAction;

import com.opensymphony.xwork2.ActionSupport;

public class Upload extends BaseAction {

private static final long serialVersionUID = -4848248679889814408L;

private String fileName;

private File upload;

public File getUpload() {

return upload;

}

public void setUpload(File upload) {

this.upload = upload;

}

public void setUploadFileName(String fileName) {

this.fileName = fileName;

}

/*

* 歌曲上传 上传操作

*/

public void uploadAction() throws IOException {

System.out.println("进入了该方法!");

String targetDirectory = "D:\\upload";

System.out.println(upload);

File target = new File(targetDirectory, fileName);

FileUtils.copyFile(upload, target);

String path = targetDirectory+"\\"+fileName;

try {

MP3File file = new MP3File(path);//1,lyrics

AbstractID3v2 id3v2 = file.getID3v2Tag();

ID3v1 id3v1 = file.getID3v1Tag();

String ss = "";

if (id3v2 != null) {

System.out.println("id3v2");

ss = id3v2.getAlbumTitle()+";"+id3v2.getSongTitle()+";"+id3v2.getLeadArtist();

//String str = "{'msg','"+ss+"'}";

String str = ss;

outPut(str);

System.out.println(id3v2.getAlbumTitle());//专辑名

System.out.println(id3v2.getSongTitle());//歌曲名

System.out.println(id3v2.getLeadArtist());//歌手

} else {

System.out.println("id3v1");

System.out.println(id3v1.getAlbumTitle());

System.out.println(id3v1.getSongTitle());

System.out.println(id3v1.getLeadArtist());

}

AbstractLyrics3 lrc3Tag = file.getLyrics3Tag();

if (lrc3Tag != null) {

String lyrics = lrc3Tag.getSongLyric();

System.out.println(lyrics);

}

} catch (IOException e) {

e.printStackTrace();

} catch (TagException e) {

e.printStackTrace();

}

System.out.println("over");

}

}

struts.xml配置文件*********************************

/p>

"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"

"http://struts.apache.org/dtds/struts-2.0.dtd">

//设置上传文件最大量

/index.jsp

后来经过调试,发现火狐和ie不兼容 导致无执行争取结果,所以我上传ajaxfileupload.js 我修改了源码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值