powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Нужен совет по использовании web камеры
25 сообщений из 50, страница 2 из 2
Нужен совет по использовании web камеры
    #38973026
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя , ОК спасибо.

rema174 , да лучше ни то и ни другое, а лучше Ассемблер..., но все равно спасибо.

Изопропил , спасибо.

З.Ы. для начала сам попробую там дальше будет видно, и возможно будут ещё вопросы по части JAVA...
...
Рейтинг: 0 / 0
Нужен совет по использовании web камеры
    #38973041
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Музаффар,
у меня подобное решено через jsp
...
Рейтинг: 0 / 0
Нужен совет по использовании web камеры
    #38973050
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяМузаффар,
у меня подобное решено через jsp
прошу прошения за наглость, но можно посмотреть на Ваш jsp? :)
...
Рейтинг: 0 / 0
Нужен совет по использовании web камеры
    #38973120
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
любопытство не наглость :)
мыло в профиле, что нить покажу
...
Рейтинг: 0 / 0
Нужен совет по использовании web камеры
    #38973131
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
по работе с камерой из браузера
17714774
убрал лишнее
...
Рейтинг: 0 / 0
Нужен совет по использовании web камеры
    #38973210
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,

за пример благодарю! :)
на Вам написал письмо... :) если указанный в Вашем профиле мыло рабочий...
...
Рейтинг: 0 / 0
Нужен совет по использовании web камеры
    #38973229
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
на Вам ... )
...
Рейтинг: 0 / 0
Нужен совет по использовании web камеры
    #38974824
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте, продолжаем развиваться... :)
Вообщем сделал из примеров примитивный вещь, точнее вебка работает, передается сервлету, тот обрабатывает и записывает на указенный адрес т.е. своем роде получился файловый сервер :)
следовательно вопрос как записать этот фото в БД? используется EJB (JPA)

вот собственно сам код:
JSP:
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ page contentType="text/html;charset=UTF-8"%>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
        <script language="JavaScript" src="resources/js/jquery-2.1.3.min.js"></script>
    </head>
    <body>
        <div>
            <video id="video" width="640" height="480" autoplay="autoplay"></video>
             
            <button id="snap">Snap Photo...</button>
             
            <canvas id="canvas" width="640" height="480"></canvas>
        </div>
        <br/>
         
        <button onclick="putImage();">send imgages</button>
         
        <button onclick="sendImage();">Upload...</button>
         
        <img id="MyPix" src=""/>
        <script type="text/javascript">
          window.addEventListener("DOMContentLoaded", function () {
              // Grab elements, create settings, etc.
              var canvas = document.getElementById("canvas"), context = canvas.getContext("2d"), video = document.getElementById("video"), videoObj = {
                  "video" : true
              },
              errBack = function (error) {
                  console.log("Video capture error: ", error.code);
              };

              // Put video listeners into place
              if (navigator.getUserMedia) {
                  // Standard
                  navigator.getUserMedia(videoObj, function (stream) {
                      video.src = stream;
                      video.play();
                  },
                  errBack);
              }
              else if (navigator.webkitGetUserMedia) {
                  // WebKit-prefixed
                  navigator.webkitGetUserMedia(videoObj, function (stream) {
                      video.src = window.webkitURL.createObjectURL(stream);
                      video.play();
                  },
                  errBack);
              }
              else if (navigator.mozGetUserMedia) {
                  // Firefox-prefixed
                  navigator.mozGetUserMedia(videoObj, function (stream) {
                      video.src = window.URL.createObjectURL(stream);
                      video.play();
                  },
                  errBack);
              }
          },
false);

          //The trigger photo take
          document.getElementById("snap").addEventListener("click", function () {
              var context = document.getElementById("canvas").getContext("2d");
              context.drawImage(video, 0, 0, 640, 480);
          });

          //Pictures will be issued in img Tags
          function putImage() {
              var canvas = document.getElementById("canvas");
              if (canvas.getContext) {
                  var ctx = canvas.getContext("2d");// Get the context for the canvas.
                  var myImage = canvas.toDataURL("image/png");// Get the data as an image.
                  var imageElement = document.getElementById("MyPix");// Get the img object.
                  imageElement.src = myImage;// Set the src to data from the canvas.
                  var imgData = canvas.toDataURL("image/png");
                  var data = imgData.substr(22);//The picture data
                  var length = atob(data).length;//Picture size
              }
          }

          // Upload pictures, jQuery version 
          function sendImage() {
              // Gets a canvas DOM object 
              var canvas = document.getElementById("canvas");
              // Image data acquisition Base64 encoded, format string 
              // "data:image/png;base64,"At the beginning, in the client or server will be removed, the back part can directly write to the file. 
              var dataurl = canvas.toDataURL("image/png");
              // Code the URI security 
              // At the beginning of the data%3Aimage%2Fpng%3Bbase64%2C 
              var imagedata = encodeURIComponent(dataurl);

              //var url = $("#form").attr("action"); 
              // 1 if the form form is not good, you can use one of the hidden hidden fields to set the request 
              // <input type="hidden" name="action" value="receive.jsp" /> 
              //var url = $("input[name='action']").val(); 
              var url = "/can";
              // 2 also can directly use the attributes of an DOM object to access 
              // <input id="imageaction" type="hidden" action="receive.jsp"> 
              // var url = $("#imageaction").attr("action"); 
              // Because is string, so the server needs to be to transform data, and write file operations. 
              // An individual, all the HTTP parameter names lowercase 
              console.log(dataurl);
              //console.log(imagedata); 
              var data = {
                  imagename : "myImage.png", imagedata : imagedata
              };

              $.post('canvasservlet',//"/canvas/can", 
              {
                  imagename : "myImage.png", imagedata : imagedata
              },
              function (data) {
                  alert('Uploaded successfully!');
              },
"json");

          };
        </script>
    </body>
</html>



а вот Сервлет:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintWriter;

import java.net.URLDecoder;

import javax.servlet.*;
import javax.servlet.http.*;

import sun.misc.BASE64Decoder;

public class CanvasServlet extends HttpServlet {
    private static final long serialVersionUID = -6027062736656145961L;


    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        this.doPost(req, resp);
    }


    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("========================================================");
        String imageName = request.getParameter("imagename");
        String imageData = request.getParameter("imagedata");
        int success = 0;
        String message = "";
        if (null == imageData || imageData.length() < 100) {
            // Data is too short, obviously unreasonable
            message = "Failed to upload, data is too short or does not exist";
        } else {
            // Remove the beginning of unreasonable data
            imageData = imageData.substring(30);
            imageData = URLDecoder.decode(imageData, "UTF-8");
//            System.out.println("++++++++++++++++++"+imageData);
            byte[] data = decode(imageData);
            int len = data.length;
            int len2 = imageData.length();
//            System.out.println("len --> "+len);
//            System.out.println("len2 --> "+len2);
            if (null == imageName || imageName.length() < 1) {
                imageName = System.currentTimeMillis() + ".png";
            }
            saveImageToDisk(data, imageName);
            //
            success = 1;
            message = "Upload successful, length: " + len2 + " character, parse the file size: " + len + " bytes";
        }
        // Background printing
        System.out.println("message=" + message);
    }

    private byte[] decode(String imageData) throws IOException {
        BASE64Decoder decoder = new BASE64Decoder();
        byte[] data = decoder.decodeBuffer(imageData);
        for (int i = 0; i < data.length; ++i) {
            if (data[i] < 0) {
                //Adjust the abnormal data
                data[i] += 256;
            }
        }
        return data;
    }


    // references:

    private boolean saveImageToDisk(byte[] data, String imageName) throws IOException {
        String photoPath = "D:/dsn/";
        File photoPathFile = new File(photoPath);
        int len = data.length;

        //
        // To write to a file
        FileOutputStream outputStream = new FileOutputStream(new File(photoPathFile, imageName));
        outputStream.write(data);
        outputStream.flush();
        outputStream.close();
        System.out.println("Vse prowlo uspeshno!");
        //
        return true;
    }
}



...
Рейтинг: 0 / 0
Нужен совет по использовании web камеры
    #38974890
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Нужен совет по использовании web камеры
    #38974896
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяпосмотри драйвeр для oracle
http://www.oracle.com/technetwork/database/application-development/index-099369.html
да посмотрел, но к сожалению не совсем понял...
...
Рейтинг: 0 / 0
Нужен совет по использовании web камеры
    #38974899
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
посмотри драйвeр для oracle
http://www.oracle.com/technetwork/database/application-development/index-099369.html

ну и здесь
https://docs.oracle.com/cd/B25329_01/doc/appdev.102/b25320/introduction.htm

не знал, что подключение к oracle таое проблематичное :)
...
Рейтинг: 0 / 0
Нужен совет по использовании web камеры
    #38974906
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если исходить из построения "доступных", легко распространяемых систем, я б рекомендовал обратиться к mysql
можно легко и просто построить сервер на линуксах, тот же tomcat там. линуксовую машину можно на виртуалке запустить.
...
Рейтинг: 0 / 0
Нужен совет по использовании web камеры
    #38974914
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяпосмотри драйвeр для oracle
http://www.oracle.com/technetwork/database/application-development/index-099369.html

ну и здесь
https://docs.oracle.com/cd/B25329_01/doc/appdev.102/b25320/introduction.htm

не знал, что подключение к oracle таое проблематичное :)

:) ну Вы меня не совсем поняли... или я не совсем четко выразился...
подключения к БД все есть все сделано. вот не совсем понимаю как или каким образом записать тот же картинку в БД там я уже создал столбец с типом BLOB.
вот меня интересует как записать/вывести...

З.Ы. как обычные поля типа имею ввиду строки, даты, числа...?
...
Рейтинг: 0 / 0
Нужен совет по использовании web камеры
    #38974927
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Нужен совет по использовании web камеры
    #38974966
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,

вроде это оно?
...
Рейтинг: 0 / 0
Нужен совет по использовании web камеры
    #38974973
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Нужен совет по использовании web камеры
    #38974981
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
или это http://www.coderanch.com/t/304856/JDBC/databases/inserting-Blob-Oracle-DB
но можно рассмотреть вариант и запси в базу не банарных данных, а строку полученную с клиента в base64, это будет длиннее только на треть
...
Рейтинг: 0 / 0
Нужен совет по использовании web камеры
    #38974982
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,

спасибо! пойду дальше разбираться...
...
Рейтинг: 0 / 0
Нужен совет по использовании web камеры
    #38974984
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://www.len.ro/work/insert-blob-in-oracle/ с использованием процедур
...
Рейтинг: 0 / 0
Нужен совет по использовании web камеры
    #38975800
Юрий321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Музаффарвадя,

спасибо! пойду дальше разбираться...

если собрался работать через JPA, не читай все что выше.

читай про jpa.

"базу" при использовании правильнее делать путем описания сущностей и связей между ними.
орм сам сгенерирует таблицы и прочее, не нужно туда лезть вручную.

блоб делается просто, в сущности заводишь поле
@Lob
private byte[] pic;

и все.
...
Рейтинг: 0 / 0
Нужен совет по использовании web камеры
    #38975803
Юрий321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
правка

"базу" при использовании ORM правильнее
...
Рейтинг: 0 / 0
Нужен совет по использовании web камеры
    #38975817
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Юрий321Музаффарвадя,

спасибо! пойду дальше разбираться...

если собрался работать через JPA, не читай все что выше.

читай про jpa.

"базу" при использовании правильнее делать путем описания сущностей и связей между ними.
орм сам сгенерирует таблицы и прочее, не нужно туда лезть вручную.

блоб делается просто, в сущности заводишь поле
@Lob
private byte[] pic;

и все.
не рекомендую использовать дополнительную прослойку, когда можно обойтись и без неё.
не вижу трудности общаться с базой и без этих прослоек.
...
Рейтинг: 0 / 0
Нужен совет по использовании web камеры
    #38975842
Юрий321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяЮрий321пропущено...


если собрался работать через JPA, не читай все что выше.

читай про jpa.

"базу" при использовании правильнее делать путем описания сущностей и связей между ними.
орм сам сгенерирует таблицы и прочее, не нужно туда лезть вручную.

блоб делается просто, в сущности заводишь поле
@Lob
private byte[] pic;

и все.
не рекомендую использовать дополнительную прослойку, когда можно обойтись и без неё.
не вижу трудности общаться с базой и без этих прослоек.

а, ну тогда конечно! вот гамак, вот противогаз.
...
Рейтинг: 0 / 0
Нужен совет по использовании web камеры
    #38976922
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Юрий321, вадя,
сделал с помощью аннотации вроде все пашет...
только остался правильный фронт-энд написать + сформировать отчет с этой фото :)
...
Рейтинг: 0 / 0
Нужен совет по использовании web камеры
    #38976944
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сделай это с помощью jsp стриницы
...
Рейтинг: 0 / 0
25 сообщений из 50, страница 2 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / Нужен совет по использовании web камеры
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]