jqueryajax异步上传

  找了好久终于在网上找到了ajax异步上传文件的方法,不过网上大多数是php的 ,我改为struts2写的 大同小异,希望对学习java的人有一定的帮助。我上传的是音乐文件。ajaxfileupload.js这个js文件是主要文件,一定要导入。
 jsp页面 ,其中我还做了div的隐藏*****************************
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+
":"+request.getServerPort()+path+"/";
%>



 
 Uploadify

 
     
     
     
     


     

       
       
   

       

        歌曲
       歌手
       
      

   

  
 

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配置文件*********************************

    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">

   
       //设置上传文件最大量
       
   
   
         
             /index.jsp
           
         

   



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


附件:http://down.51cto.com/data/2359651

当前题目:jqueryajax异步上传
文章URL:http://scyanting.com/article/pjesgg.html