1

我有一个保存按钮,当单击下面的按钮时,它将从相机将图像保存在桌面上是代码.....

<input id="Save" style="Z-INDEX: 1; LEFT: 8px; WIDTH: 128px; TOP: 36px; HEIGHT: 24px"
                                        onclick="return save_onclick()" type="button" value="Save Image" name="save">

function save_onclick()
{
    document.AxuEyeCam.SaveImage("test.jpg");       
}

将图像保存在一台电脑中并不好,因为该图像将无法在全球范围内使用,它将仅适用于具有图像的电脑。

我认为是使用 mappath 将图像保存在 Web 应用程序中,或者将图像存储在 sql server 中,或者可能在云中,这样图像就可以在全球范围内使用。

谁能建议我这是怎么可能的。

非常感谢

4

2 回答 2

2

这是步骤

1- 创建一个 Web 服务并将其托管在服务器中(该 Web 服务将包含一个用于上传文件并将其保存到服务器的 Web 方法)

2- 从您的应用程序(桌面应用程序或 Web 应用程序)调用 Web 服务

这是 Web 服务和客户端应用程序的一个很好的示例

http://www.c-sharpcorner.com/uploadfile/scottlysle/uploadwithcsharpws05032007121259pm/uploadwithcsharpws.aspx

我不建议将图像保存为数据库中的二进制文件,因为您可能会发现检索和显示更加困难

我建议将文件名保存在 sql server 表中,并将图像本身保存到服务器中的单独文件夹中

于 2013-10-09T11:22:38.607 回答
0

目前您正在使用 javascript 来保存图像,您使用什么控件来存储图像?即,您拥有的 AxeEyeCam 控件是什么?

如果您可以从服务器端代码访问此控件,那么您应该能够将图像读入字节数组并将其保存到 SQL 中。

以下代码使用FileUpload控件将数据读入字节数组

byte[] bArray = new byte[fileUpImage.FileBytes().Length + 1];
int iBytesRead = fileUpImage.FileContent().Read(bArray, 0, fileUpImage.FileBytes().Length);

然后,以下代码将其插入到名为 的 SQL 表中TABLE

try {
    System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection(localConString);
    conn.Open();
    string insertStatement = "Insert Into [TABLE] ([IMAGE COLUMN]) VALUES (@Image)";

    System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand(insertStatement, conn);
    cmd.Parameters.Add("@Image", System.Data.SqlDbType.Image);
    cmd.Parameters["@Image"].Value = bArray;
    double rdr = cmd.ExecuteNonQuery();

    conn.Close();
} catch (Exception ex) {
//Catches an error if one occurs

} finally {
    if (conn != null) {
        NewConn.Close();
    }
}
于 2013-10-09T11:15:15.470 回答