Rumah >hujung hadapan web >tutorial js >Kaedah Struts2+jquery.form.js untuk melaksanakan upload_jquery imej dan fail

Kaedah Struts2+jquery.form.js untuk melaksanakan upload_jquery imej dan fail

WBOY
WBOYasal
2016-05-16 15:02:101901semak imbas

Contoh dalam artikel ini menerangkan kaedah memuat naik imej dan fail menggunakan Struts2+jquery.form.js. Kongsikan dengan semua orang untuk rujukan anda, butirannya adalah seperti berikut:

jquery.form.js ialah pemalam jQuery rasmi yang menyokong muat naik fail tak segerak. Tapak web rasmi: http://plugins.jquery.com/form/

Digabungkan dengan Struts2 untuk memuat naik fail dengan mudah dalam tiga langkah

Secara amnya, halaman mungkin mempunyai lebih daripada satu borang Borang, jadi penyerahan borang pada satu bahagian akan menjejaskan borang yang lain Atas sebab ini, borang muat naik imej boleh dimuat naik menggunakan kaedah penyerahan bukan muat semula, iaitu tak segerak. muat naik. Pada masa ini, jquery .from.js berguna.

1. HTML

Import jS ini ke halaman dan tulis borang muat naik

<script type="text/javascript" src="/js/jquery.form.js"></script>
<!—图片上传 -->
<s:form id="picForm" name="picForm" action="/notice/showAddNotice.action" method="post" 
  enctype="multipart/form-data">
    <input type="file" name="pic" size="30"/><input type="submit" value="上传"/>
</s:form>

2. JS

// 为表单绑定异步上传的事件
$(function(){
    // 为表单绑定异步上传的事件
    $("#picForm").ajaxForm({
    url : "${pageContext.request.contextPath}/notice/uploadPic.action", // 请求的url
    type : "post", // 请求方式
    dataType : "text", // 响应的数据类型
    async :true, // 异步
    success : function(imageUrl){
        //alert(imageUrl);
    },
    error : function(){
        alert("数据加载失败!");
    }
});
// 为提交按钮绑定事件
$("#saveBtn").click(function(){
    // 表单输入较验
    var title = $("#title");
    // 获取textarea的内容
    var content = tinyMCE.get('content').getContent();
    var msg = "";
    if ($.trim(title.val()) == ""){
        msg = "公告标题不能为空!";
        title.focus();
    }else if ($.trim(content) == ""){
        msg = "内容不能为空!";
    }
    msg = "";
    if (msg != ""){
        alert(msg);
    }else{
        // 表单提交
        $("#noticeForm").submit();
    }
});

3. Struts2Action

public class uploadPicAjax extends AbstractAjaxAction {
    private static final long serialVersionUID = -4742151106080093662L;
    /** Struts2文件上传的三个属性 */
    private File pic;
    private String picFileName;
    private String picContentType;
    @Override
    protected String getJson() throws Exception {
        //获取项目部署的路径
        String realPath = ServletActionContext.getServletContext()
                .getRealPath("/images/notice");
        //生成新的文件名
        String newFileName = UUID.randomUUID().toString()+"."
                +FilenameUtils.getExtension(picFileName);// 获取文件的后缀名 aa.jpg --> jpg
        FileUtils.copyFile(pic, new File(realPath + File.separator + newFileName));
        return "/images/notice/" + newFileName;
    }
    /** setter and getter method **/
    ......
}

4. Konfigurasikan Struts2.xml

<!-- 图片的异步上传 -->
<action name="uploadPic" class="com.wise.hrm.action.notice.uploadPicAjax">
</action>

Baiklah, saya telah selesai menulis dari halaman ke hujung belakang. Kemudian anda boleh memuat naiknya. lengkap!

Pembaca yang berminat dengan lebih banyak kandungan berkaitan jQuery boleh menyemak topik khas di tapak ini: "Kesan penukaran JQuery dan ringkasan teknik", "Kesan seretan jQuery dan ringkasan teknik ", "Ringkasan kemahiran sambungan JQuery", "ringkasan kesan khas klasik biasa jQuery", "ringkasan penggunaan animasi jQuery dan kesan khas", " ringkasan penggunaan pemilih jquery " dan "Ringkasan pemalam dan penggunaan biasa jQuery "

Saya harap artikel ini akan membantu semua orang dalam pengaturcaraan jQuery.

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn