Mahesh Pattnayak Ответов: 1

Как назначить значение сеанса в javascript ? (URI данных веб-камеры не доступен при нажатии кнопки на сервере )


я работаю над приложением , в котором пользователи могут запечатлеть свою фотографию через веб-камеру. после захвата data-uri (строка base64) сохраняется в таблице базы данных. я привязываю data-uri к элементу управления изображением,а захваченное изображение отображается в элементе управления изображением.

я использую элемент управления скрытым полем asp в javascript для получения uri данных , после нажатия на кнопку захвата значение data-uri (строка base64) сохраняется в таблице базы данных. (изображение также отображается в элементе управления ASP image)

в локальной машине он работает нормально. (uri данных сохраняется в таблице базы данных).
но при загрузке на сервер он не работает . после нажатия на кнопку захвата значение скрытого поля становится пустым. (скрытое поле содержит data-uri (строка base64)).

base64string:data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAfQAAAFecayaaabzue0caaagaeleqvr4xls9wy+lWXaetyNOnBhzqKyseeyhqieSTYmSKdOwjugcbfjcf7yf+BcZ9oVlg5BpyxQMkWqRIiTbIgTSgAATkkaby7isdi2jbljpqtnnrq7qqqwcyjwnivw+z7u/LDqrozPjnG/Ye+211rumvfbOL/7d//H29nYzdnZuxhi7Y+d2Z4yb23



как получить скрытое значение поля при нажатии кнопки ? или как назначить скрытое значение поля в объекте сеанса в javascript. так что я могу получить данные-uri из объекта сеанса.

пожалуйста помочь ..

Что я уже пробовал:

<asp:HiddenField ID="hdnVal" runat="server"  EnableViewState="true"  />

<script type="text/javascript" src="css/webcam.min.js"></script>
	
	<!-- Configure a few settings and attach camera -->
	<script language="JavaScript" type="text/javascript" >
	    Webcam.set({
	        width: 320,
	        height: 240,
	        dest_width: 500,
	        dest_height: 350,
	        image_format: 'png',
	        jpeg_quality: 90
	    });
	    Webcam.attach('#my_camera');





	    function take_snapshot() {
	        // take snapshot and get image data
	        var val = document.getElementById('<%=hdnVal.ClientID %>');
	        Webcam.snap(function (data_uri) {
	            var data = data_uri.toString();
	            val.value = data_uri.toString();
	            alert(val.value.toString());
	            document.getElementById('<%=hdnVal.ClientID %>').innerText = data_uri;
	        });
	    }
	
	
	</script>



Кнопка захвата нажмите код события :

img.ImageUrl = hdnVal.Value.ToString()
img.Visible = True

Try
    con.Open()
    Dim cmd As New SqlCommand()
    cmd.CommandText = "spAddImages"
    cmd.CommandType = Data.CommandType.StoredProcedure
    cmd.Connection = con
    cmd.Parameters.Add("@val", Data.SqlDbType.NVarChar).Value = hdnVal.Value.ToString()

    cmd.ExecuteNonQuery()
    con.Close()
Catch ex As Exception

End Try

F-ES Sitecore

Если вы проверяете скрытое поле с помощью инструментов разработки браузера, имеет ли оно значение или оно пустое? Проблема может заключаться не в чтении скрытого поля, а в том, что оно пустое. Мы не знаем, что делает ваша библиотека js для захвата изображения веб-камеры, но если она использует серверный код для захвата изображения, то она будет работать только локально, поскольку клиент и сервер-это одна и та же машина, но при развертывании сервер-это ее собственная машина, к которой не подключена веб-камера.

Mahesh Pattnayak

Веб-камера работает в firefox и IE. но в chrome более высокой версии он не работает..

1 Ответов

Рейтинг:
1

Karthik_Mahalingam

пробовать

function take_snapshot() {
     Webcam.snap(function (data_uri) {
         document.getElementById('<%=hdnVal.ClientID %>').value = data_uri.toString();
     });
     }


Mahesh Pattnayak

Нет, сэр,он работает на локальной машине, но на сервере он пуст. я использовал предупреждающее сообщение , чтобы показать значение, но оно остается пустым.

Karthik_Mahalingam

проверьте наличие ошибок в окне консоли chrome