详解ajax fileupload异步上传插件
本文主要为大家详细介绍了jquery ajaxfileupload异步上传插件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能帮助到大家。
服务器端采用struts2来处理文件上传。
所需环境:
jquery.js
ajaxfileupload.js
struts2所依赖的jar包
及struts2-json-plugin-2.1.8.1.jar
编写文件上传的Action
package com.ajaxfile.action; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import org.apache.struts2.ServletActionContext; import com.opensymphony.xwork2.ActionSupport; @SuppressWarnings("serial") public class FileAction extends ActionSupport { private File file; private String fileFileName; private String fileFileContentType; private String message = "你已成功上传文件"; public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } public File getFile() { return file; } public void setFile(File file) { this.file = file; } public String getFileFileName() { return fileFileName; } public void setFileFileName(String fileFileName) { this.fileFileName = fileFileName; } public String getFileFileContentType() { return fileFileContentType; } public void setFileFileContentType(String fileFileContentType) { this.fileFileContentType = fileFileContentType; } @SuppressWarnings("deprecation") @Override public String execute() throws Exception { String path = ServletActionContext.getRequest().getRealPath("/upload"); try { File f = this.getFile(); if(this.getFileFileName().endsWith(".exe")){ message="对不起,你上传的文件格式不允许!!!"; return ERROR; } FileInputStream inputStream = new FileInputStream(f); FileOutputStream outputStream = new FileOutputStream(path + "/"+ this.getFileFileName()); byte[] buf = new byte[1024]; int length = 0; while ((length = inputStream.read(buf)) != -1) { outputStream.write(buf, 0, length); } inputStream.close(); outputStream.flush(); } catch (Exception e) { e.printStackTrace(); message = "对不起,文件上传失败了!!!!"; } return SUCCESS; } }
struts.xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"> <struts> <package name="struts2" extends="json-default"> <action name="fileUploadAction" class="com.ajaxfile.action.FileAction"> <result type="json" name="success"> <param name="contentType"> text/html </param> </result> <result type="json" name="error"> <param name="contentType"> text/html </param> </result> </action> </package> </struts>
注意结合Action观察struts.xml中result的配置。
contentType参数是一定要有的,否则浏览器总是提示将返回的JSON结果另存为文件,不会交给ajaxfileupload处理。这是因为struts2 JSON Plugin默认的contentType为application/json,而ajaxfileupload则要求为text/html。
文件上传的jsp页面
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> <script type="text/javascript" src="js/jquery.js"></script> <script type="text/javascript" src="js/ajaxfileupload.js"></script> <script type="text/javascript"> function ajaxFileUpload() { $("#loading") .ajaxStart(function(){ $(this).show(); })//开始上传文件时显示一个图片 .ajaxComplete(function(){ $(this).hide(); });//文件上传完成将图片隐藏起来 $.ajaxFileUpload ( { url:'fileUploadAction.action',//用于文件上传的服务器端请求地址 secureuri:false,//一般设置为false fileElementId:'file',//文件上传空间的id属性 <input type="file" id="file" name="file" /> dataType: 'json',//返回值类型 一般设置为json success: function (data, status) //服务器成功响应处理函数 { alert(data.message);//从服务器返回的json中取出message中的数据,其中message为在struts2中action中定义的成员变量 if(typeof(data.error) != 'undefined') { if(data.error != '') { alert(data.error); }else { alert(data.message); } } }, error: function (data, status, e)//服务器响应失败处理函数 { alert(e); } } ) return false; } </script> </head> <body> <img src="loading.gif" id="loading" style="display: none;"> <input type="file" id="file" name="file" /> <br /> <input type="button" value="上传" onclick="return ajaxFileUpload();"> </body> </html>
注意观察
中的代码,并没有form表单。只是在按钮点击的时候触发ajaxFileUpload()方法。需要注意的是js文件引入的先后顺序,ajaxfileupload.js依赖于jquery因此你知道的。相关推荐:
Atas ialah kandungan terperinci 详解ajax fileupload异步上传插件. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



1. Buka Muzik Kugou dan klik pada gambar profil anda. 2. Klik ikon tetapan di penjuru kanan sebelah atas. 3. Klik [Muat Naik Muzik Berfungsi]. 4. Klik [Muat Naik Berfungsi]. 5. Pilih lagu dan klik [Seterusnya]. 6. Akhir sekali klik [Muat naik].

Tajuk: Kaedah dan contoh kod untuk menyelesaikan ralat 403 dalam permintaan AJAX jQuery Ralat 403 merujuk kepada permintaan bahawa pelayan melarang akses kepada sumber Ralat ini biasanya berlaku kerana permintaan itu tidak mempunyai kebenaran atau ditolak oleh pelayan. Apabila membuat permintaan jQueryAJAX, anda kadangkala menghadapi situasi ini Artikel ini akan memperkenalkan cara menyelesaikan masalah ini dan memberikan contoh kod. Penyelesaian: Semak kebenaran: Mula-mula pastikan alamat URL yang diminta adalah betul dan sahkan bahawa anda mempunyai kebenaran yang mencukupi untuk mengakses sumber tersebut.

Dengan kemunculan era digital, platform muzik telah menjadi salah satu cara utama untuk orang ramai memperoleh muzik. Namun, kadangkala apabila kita mendengar lagu, kita dapati tiada lirik yang sangat mengganggu. Ramai yang berharap lirik dapat dipaparkan ketika mendengar lagu untuk lebih memahami isi dan emosi lagu tersebut. QQ Music, sebagai salah satu platform muzik terbesar di China, turut menyediakan pengguna dengan fungsi memuat naik lirik, supaya pengguna dapat menikmati muzik dengan lebih baik dan merasai konotasi lagu tersebut. Berikut akan memperkenalkan cara memuat naik lirik pada QQ Music. pertama

jQuery ialah perpustakaan JavaScript popular yang digunakan untuk memudahkan pembangunan sisi klien. AJAX ialah teknologi yang menghantar permintaan tak segerak dan berinteraksi dengan pelayan tanpa memuatkan semula keseluruhan halaman web. Walau bagaimanapun, apabila menggunakan jQuery untuk membuat permintaan AJAX, anda kadangkala menghadapi 403 ralat. Ralat 403 biasanya ralat akses yang dinafikan pelayan, mungkin disebabkan oleh dasar keselamatan atau isu kebenaran. Dalam artikel ini, kami akan membincangkan cara menyelesaikan permintaan jQueryAJAX yang menghadapi ralat 403

Kelajuan muat naik menjadi sangat perlahan? Saya percaya ini adalah masalah yang akan dihadapi oleh ramai rakan apabila memuat naik sesuatu pada komputer mereka Jika rangkaian tidak stabil semasa menggunakan komputer untuk memindahkan fail, kelajuan muat naik akan menjadi sangat perlahan. Di bawah, editor akan memberitahu anda bagaimana untuk menyelesaikan masalah kelajuan muat naik komputer yang perlahan. Apabila bercakap tentang kelajuan rangkaian, kita semua tahu bahawa kelajuan membuka halaman web, kelajuan muat turun, dan kelajuan muat naik juga sangat kritikal, terutamanya sesetengah pengguna sering perlu memuat naik fail ke cakera rangkaian, jadi kelajuan muat naik yang pantas sudah pasti akan menjimatkan. anda banyak wang. Kurang masa, apa yang perlu saya lakukan jika kelajuan muat naik perlahan? Di bawah, editor membawakan anda gambar dan teks tentang cara menangani kelajuan muat naik komputer yang perlahan. Bagaimana untuk menyelesaikan masalah kelajuan muat naik komputer yang perlahan Klik "Mula--Jalankan" atau "Kunci Tetingkap"?

Selagi komputer dilengkapi dengan kamera, ia boleh mengambil gambar, tetapi sesetengah pengguna masih tidak tahu bagaimana untuk mengambil gambar dan memuat naiknya Sekarang saya akan memberikan pengenalan terperinci kepada anda tentang kaedah mengambil gambar di komputer. supaya pengguna boleh memuat naik gambar di mana sahaja mereka mahu. Cara mengambil foto dan memuat naiknya pada komputer 1. Komputer Mac 1. Buka Finder dan klik aplikasi di sebelah kiri. 2. Selepas dibuka, klik aplikasi Kamera. 3. Hanya klik butang foto di bawah. 2. Komputer Windows 1. Buka kotak carian di bawah dan masukkan kamera. 2. Kemudian buka aplikasi yang dicari. 3. Klik butang foto di sebelahnya.

Bagaimana untuk menyelesaikan masalah jQueryAJAX ralat 403? Apabila membangunkan aplikasi web, jQuery sering digunakan untuk menghantar permintaan tak segerak. Walau bagaimanapun, kadangkala anda mungkin menghadapi kod ralat 403 apabila menggunakan jQueryAJAX, menunjukkan bahawa akses dilarang oleh pelayan. Ini biasanya disebabkan oleh tetapan keselamatan bahagian pelayan, tetapi terdapat cara untuk mengatasinya. Artikel ini akan memperkenalkan cara menyelesaikan masalah ralat jQueryAJAX 403 dan memberikan contoh kod khusus. 1. membuat

Bina enjin cadangan autolengkap menggunakan PHP dan Ajax: Skrip sisi pelayan: mengendalikan permintaan Ajax dan mengembalikan cadangan (autocomplete.php). Skrip pelanggan: Hantar permintaan Ajax dan cadangan paparan (autocomplete.js). Kes praktikal: Sertakan skrip dalam halaman HTML dan nyatakan pengecam elemen input carian.
