FileUpload
От: Аноним  
Дата: 20.06.06 02:21
Оценка:
Кто нибудь использовал Jakarta Commons FileUpload для загрузки не на диск, а сразу в базу данных MySQL?

Есть ли примеры?

Было бы здорово если пример вместе с Dojo...
Re: FileUpload
От: RobinHood  
Дата: 20.06.06 07:53
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Кто нибудь использовал Jakarta Commons FileUpload для загрузки не на диск, а сразу в базу данных MySQL?


А>Есть ли примеры?


А>Было бы здорово если пример вместе с Dojo...


Давно юзал FileUpload , но так ты ведь на стороне сервера получиные данные сам сериализируешь , так в чем проблема
вместо етого написать свои обработчик который в базу данных писать будет.
Re[2]: FileUpload
От: Аноним  
Дата: 20.06.06 08:42
Оценка:
Здравствуйте, RobinHood, Вы писали:

RH>Здравствуйте, Аноним, Вы писали:


А>>Было бы здорово если пример вместе с Dojo...


RH> Давно юзал FileUpload , но так ты ведь на стороне сервера получиные данные сам сериализируешь , так в чем проблема

RH>вместо етого написать свои обработчик который в базу данных писать будет.

можно пример хотя бы пустого обработчика
Re: FileUpload
От: AlexeyM  
Дата: 20.06.06 12:53
Оценка:
Ничего не скажу про MySQL, но, например, можно сделать так:

if ( ServletFileUpload.isMultipartContent(req) ) {

    FileItemFactory factory = new DiskFileItemFactory();
    ServletFileUpload upload = new ServletFileUpload(factory);
            
    List fileItems = upload.parseRequest(req);

    Iterator i = fileItems.iterator();

    while ( i.hasNext() ) {

        if ( !fi.isFormField() ) {
            Class.forName(dbDriverClass);
            Connection conn = DriverManager.getConnection(dbConnString, dbUserName, dbUserPassword);
            String sql = "INSERT INTO files (contenttype, file) VALUES (?, ?);";
            PreparedStatement ps = conn.prepareStatement(sql);
            ps.setString(1, fi.getContentType());
            ps.setBinaryStream(2, new ByteArrayInputStream(fi.get()), (int)fi.getSize());
            ps.executeUpdate();
            ps.close();
            conn.close();
        }

    }
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.