2016-02-13 17 views

回答

0

你应该更喜欢URL而不是byte []。

主要原因是,并非每种语言在将图像存储到字节数组时都有相同的位模式。例如,java的字节是有符号的(范围是-128到127),而C#的字节是无符号的(范围是0到255)。这意味着,如果您使用C#将字符数组存储在字节数组中,平台将字节数组重新转换为图像必须是c#除了识别网络资源之外,URL是一个URI。正如你可以从它的名字上了解到它的平台是独立的Uniform Resource Locator。用户可以在任何类型的平台中使用这些信息。

0

使用一滴保存在这里的数据库图像文件是在Java代码 创建表作为

CREATE TABLE save_image (    
      id int(5) NOT NULL auto_increment, 
      name varchar(25) default NULL,  
      city varchar(20) default NULL,  
      image blob,       
      Phone varchar(15) default NULL,  
      PRIMARY KEY (`id`)     
      ); 

的java这里的文件由用户保存图像

import java.sql.*; 
import java.io.*; 
class SaveImageToDatabase { 
public static void main(String[] args) throws SQLException { 
// declare a connection by using Connection interface 
Connection connection = null; 
/* Create string of connection url within specified format with machine 
name, port number and database name. Here machine name id localhost 
and database name is mahendra. */ 
String connectionURL = "jdbc:mysql://localhost:3306/mahendra"; 
/*declare a resultSet that works as a table resulted by execute a specified 
sql query. */ 
ResultSet rs = null; 
// Declare prepare statement. 
PreparedStatement psmnt = null; 
// declare FileInputStream object to store binary stream of given image. 
FileInputStream fis; 
try { 
// Load JDBC driver "com.mysql.jdbc.Driver" 
Class.forName("com.mysql.jdbc.Driver").newInstance(); 
/* Create a connection by using getConnection() method that takes 
parameters of string type connection url, user name and password to 
connect to database. */ 
connection = DriverManager.getConnection(connectionURL, "root", "root"); 
// create a file object for image by specifying full path of image as parameter   
File image = new File("C:/image.jpg"); 
/* prepareStatement() is used for create statement object that is 
used for sending sql statements to the specified database. */ 
psmnt = connection.prepareStatement 
("insert into save_image(name, city, image, Phone) "+ "values(?,?,?,?)"); 
psmnt.setString(1,"SmashCode"); 
psmnt.setString(2,"GPU"); 
psmnt.setString(4,"127001"); 
fis = new FileInputStream(image); 
psmnt.setBinaryStream(3, (InputStream)fis, (int)(image.length())); 
/* executeUpdate() method execute specified sql query. Here this query 
insert data and image from specified address. */ 
int s = psmnt.executeUpdate(); 
if(s>0) { 
System.out.println("Uploaded successfully !"); 
} 
else { 
System.out.println("unsucessfull to upload image."); 
    } 
} 
// catch if found any exception during rum time. 
catch (Exception ex) { 
System.out.println("Found some error : "+ex); 
    } 
    finally { 
    // close all the connections. 
     connection.close(); 
     psmnt.close(); 
     } 
     } 
     } 

可以检索图像您可能在这里提到这个网站here

我在这里主要使用代码希望我的工作让你开心大拇指我的回答如果你喜欢

相关问题