DDR爱好者之家 Design By 杰米

找了好久终于在网上找到了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+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
 <base href="<%=basePath%>">
 <title>Uploadify</title>
<style type="text/css">
#div1{
color: #000000; font-size: 12px; 
  border: 0px solid #74B3DC;
  color: #000;
  background: #fff;
display:none;
}
</style>
 <script type="text/javascript" src="/UploadFiles/2021-04-02/jquery-1.3.2.min.js">

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

<"1.0" encoding="UTF-8" "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
  "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
  <constant name="struts.i18n.encoding" value="UTF-8"/>
    //设置上传文件最大量
    <constant name="struts.multipart.maxSize" value="10485760"/>
  
  <package name="upload" namespace="/" extends="struts-default" >
     <action name="uploadAction" class="action.Upload" method="uploadAction">
       <result name="success">/index.jsp</result>
      
     </action>
  </package>
</struts>

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

以上是本文给大家介绍jquery中的ajax异步上传,希望对大家有所帮助。

DDR爱好者之家 Design By 杰米
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
DDR爱好者之家 Design By 杰米

稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!

昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。

这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。

而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?