Ошибка при использовании Uploadify - PullRequest
1 голос
/ 13 ноября 2009

Я новичок в Jquery, у меня проблема с загрузкой файлов с помощью Uploadify. Я пытаюсь отправить файл сервлету Java, который загружает файл с помощью Apache Commons. Но при выполнении кода не все идет к сервлету. Я на самом деле взял этот пример из сети и попробовал его. Кто-нибудь может посоветовать, чего мне не хватает? Я вставляю код клиента ниже:

Насколько я понимаю, параметр "script" в функции uploadify вызовет сервлет. Итак, я написал свое имя сервлета в параметре скрипта.

Пожалуйста, посоветуйте мне, как действовать дальше.

<%@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>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>SimpleFileUpload</title>
    <script type="text/javascript" src="js/swfobject.js"></script>
    <script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
    <script type="text/javascript" src="js/jquery.uploadify.v2.1.0.min.js"></script>
    <link rel="stylesheet" href="css/uploadify.css" type="text/css" media="screen"/>

    <script type="text/javascript">
        $(function() {
            $('#file_upload').uploadify({
                'uploader' : 'swf/uploadify.swf',
                'script' : 'fileupload',
                'cancelImg' : 'img/cancel.png',
                'multi' : false
            });
        });
    </script>
</head>
<body>
    <h1>Simple File Upload</h1>

    <h3>Multiple file upload made easy</h3>

    <div id="file_upload"></div>
    <br/>
    <input type="button" value="Clear Queue" onclick="$('#file_upload').uploadifyClearQueue();"/>
    <input type="button" value="Submit Queue" onclick="$('#file_upload').uploadifyUpload();"/>
</body>

и мой код сервлета

protected void doPost(HttpServletRequest request, HttpServletResponse response)               throws ServletException, IOException {

    if (ServletFileUpload.isMultipartContent(request)){
          // Parse the HTTP request...
        try {
        ServletFileUpload servletFileUpload = new ServletFileUpload(new DiskFileItemFactory());
        List fileItemsList = servletFileUpload.parseRequest(request);

        Iterator itr = fileItemsList.iterator();

        while(itr.hasNext()) {
            FileItem item = (FileItem) itr.next();

        // check if the current item is a form field or an uploaded file
            if(item.isFormField()) {

        // get the name of the field
            String fieldName = item.getFieldName();

    // if it is name, we can set it in request to thank the user
        if(fieldName.equals("name"))
        request.setAttribute("msg", "Thank You: " + item.getString());

            } else {


                File fullFile  = new File(item.getName()); 


                String filename = item.getName();



                 File targetdir = new File("E:/");
            File savedFile = new File(targetdir,fullFile.getName());
                 item.write(savedFile);

            }
        }
        }
           catch(Exception e)
           {
               e.printStackTrace();
           }
        } //end servletFileUpload

Спасибо

1 Ответ

0 голосов
/ 29 июля 2010

Я только что использовал swfupload ... Используя fiddler, я видел, что мой базовый пример представлял только 1 файл с uploadify, поэтому я отказался от него.

...