Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用jquery文件上载上载带有imagename的图像_Java_Jquery_Ajax_Jsp_File Upload - Fatal编程技术网

Java 使用jquery文件上载上载带有imagename的图像

Java 使用jquery文件上载上载带有imagename的图像,java,jquery,ajax,jsp,file-upload,Java,Jquery,Ajax,Jsp,File Upload,我用它上传一个包含一些数据的文件(inputbox)。每当我试图上传文件时,它会显示文件上传…,然后会被卡住一段时间。我检查了我的数据库,但发现对它没有影响 下面是我到目前为止所做的 index.jsp <%@page contentType="text/html" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.or

我用它上传一个包含一些数据的文件(inputbox)。每当我试图上传文件时,它会显示文件上传…,然后会被卡住一段时间。我检查了我的数据库,但发现对它没有影响

下面是我到目前为止所做的

index.jsp

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">

<html>
    <head>
        <title>Ajax File Upload</title>
        <script type="text/javascript" src="jquery.js"></script>
        <script type="text/javascript" src="ajaxfileupload.js"></script>
        <script type="text/javascript">
            $(document).ready(function(){
                $("#login_frm").submit(function(){
                    //remove previous class and add new "myinfo" class
                    // e.preventDefault();

                $("#msgbox1").removeClass().addClass('myinfo').text('Uploading .... ').fadeIn(1000);
                $.ajaxFileUpload({
                    url :'AddPhoto',
                    secureuri:false,
                    fileElementId:'image',
                    dataType: 'json',
                    success: function(msg){
                      //   alert(msg.MSG)
                        $("#msgbox1").removeClass().addClass('myinfo').text(msg.MSG).fadeIn(1000);
                        if(msg.MSG=="Image Successfully Uploaded!!")
                        {
                            document.getElementById("image").disabled="disabled";
                        }
                    }
                });

                return false;
            });

        });

    </script>
    <link href="style.css" rel="stylesheet" type="text/css" />
    <link href="login_style.css" rel="stylesheet" type="text/css" />
</head>
<body>
    <form name="login_frm" id="login_frm" action="" method="post">
        <div id="login_box">
            <div id="login_header">&nbsp;&nbsp;&nbsp;Citizen Login </div>
            <div id="form_val" style="background-color:black">
                <div class="label">Image Name :</div>
                <div class="control"><input type="text" name="imgname" id="imgname"/></div>
                <div style="clear:both;height:0px;"></div>
                <div id="msgbox"></div>
                <div class="label">Photograph :</div>
                <div class="control"><input type="file" name="image" id="image"/></div>
                <div style="clear:both;height:0px;"></div>
                <div id="msgbox1"></div>
            </div>
            <div id="login_footer">
                <label>
                    <input type="submit" name="upload" id="upload" value="Upload" class="send_button" />
                </label>
            </div>
        </div>
    </form>
</body>

Ajax文件上传
$(文档).ready(函数(){
$(“#login_frm”).submit(函数(){
//删除以前的类并添加新的“myinfo”类
//e.预防违约();
$(“#msgbox1”).removeClass().addClass('myinfo').text('Uploading…').fadeIn(1000);
$.ajaxFileUpload({
url:'AddPhoto',
secureuri:false,
fileElementId:“图像”,
数据类型:“json”,
成功:功能(msg){
//警报(msg.msg)
$(“#msgbox1”).removeClass().addClass('myinfo').text(msg.msg).fadeIn(1000);
如果(msg.msg==“图像已成功上载!!”)
{
document.getElementById(“image”).disabled=“disabled”;
}
}
});
返回false;
});
});
公民登录
图像名称:
照片:

AddPhoto.java

package fileupload;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;

public class AddPhoto extends HttpServlet {

    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        try {
            // Apache Commons-Fileupload library classes
            DiskFileItemFactory factory = new DiskFileItemFactory();
            ServletFileUpload sfu = new ServletFileUpload(factory);

            if (!ServletFileUpload.isMultipartContent(request)) {
                out.print("{MSG:'File Not Uploaded !!'}");
                return;
            } else {
                // parse request
               out.print("{MSG:'File Uploading....'}");
               List items = sfu.parseRequest(request);             
                FileItem file = (FileItem) items.get(0);
                String type = file.getContentType();
                int size = (int) (file.getSize() / 1024);
                //String name="images";
                String name = file.getFieldName();
                 out.println("{MSG:'Error" +size+ "'}");
                if (name.equals("image")) {
                    if ((type.equals("image/jpeg")) && ((size < 201) && (size > 10))) {
                        Class.forName("oracle.jdbc.driver.OracleDriver");
                        Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe", "epolicia", "admin");
                        con.setAutoCommit(false);
                        PreparedStatement ps = con.prepareStatement("insert into images(image) values(?)");
                        ps.setBinaryStream(1, file.getInputStream(), (int) file.getSize());
                        ps.executeUpdate();
                        con.commit();
                        con.close();
                        out.println("{MSG:'ID Proof Successfully Uploaded !!'}");

                    } else {
                        out.print("{MSG:'ID Proof is not jpg or its more than 200kb!!'}");
                    }
                } else {
                    out.print("{MSG:'File Not Uploaded !!'}");
                }
            }
        } catch (Exception ex) {
            out.println("{MSG:'Error" + ex.getMessage() + "'}");
        }
    }
}
包文件上传;
导入java.io.IOException;
导入java.io.PrintWriter;
导入java.sql.Connection;
导入java.sql.DriverManager;
导入java.sql.PreparedStatement;
导入java.util.List;
导入javax.servlet.ServletException;
导入javax.servlet.http.HttpServlet;
导入javax.servlet.http.HttpServletRequest;
导入javax.servlet.http.HttpServletResponse;
导入org.apache.commons.fileupload.FileItem;
导入org.apache.commons.fileupload.disk.DiskFileItemFactory;
导入org.apache.commons.fileupload.servlet.ServletFileUpload;
公共类AddPhoto扩展了HttpServlet{
受保护的void doPost(HttpServletRequest请求、HttpServletResponse响应)
抛出ServletException、IOException{
setContentType(“text/html;charset=UTF-8”);
PrintWriter out=response.getWriter();
试一试{
//Apache Commons文件上载库类
DiskFileItemFactory=新的DiskFileItemFactory();
ServletFileUpload sfu=新ServletFileUpload(工厂);
如果(!ServletFileUpload.isMultipartContent(请求)){
out.print(“{MSG:'文件未上载!!'}”);
返回;
}否则{
//解析请求
out.print(“{MSG:'File Uploading….}”);
列表项=sfu.parseRequest(请求);
FileItem文件=(FileItem)items.get(0);
字符串类型=file.getContentType();
int size=(int)(file.getSize()/1024);
//String name=“images”;
字符串名称=file.getFieldName();
println(“{MSG:'Error'+size+'}”);
if(name.equals(“image”)){
如果((键入等于(“图像/jpeg”)&&((大小<201)&&(大小>10))){
类forName(“oracle.jdbc.driver.OracleDriver”);
Connection con=DriverManager.getConnection(“jdbc:oracle:thin:@localhost:1521:xe”、“epolicia”、“admin”);
con.setAutoCommit(假);
PreparedStatement ps=con.prepareStatement(“插入图像(图像)值(?));
ps.setBinaryStream(1,file.getInputStream(),(int)file.getSize());
ps.executeUpdate();
con.commit();
con.close();
println(“{MSG:'ID-Proof成功上传!!'}”);
}否则{
out.print({MSG:'ID-Proof不是jpg或其大小超过200kb!!'});
}
}否则{
out.print(“{MSG:'文件未上载!!'}”);
}
}
}捕获(例外情况除外){
println(“{MSG:'Error”+ex.getMessage()+“}”);
}
}
}

关于你的问题,我有两点:

  • 检查那里:。 如果您使用JSP,Ajax文件上传器不是一个好的选择。读那个话题

  • 忠告:不要使用

  • if(msg.msg==“图像成功上传!!”)

    比较结果。试试看

    if(msg.MSG === 1) { // or msg.MSG === true
       //process and show the successfully uploaded string 
     }
    
    就这些。我希望这些能帮助你