如何将asp.net中的image控件中的图片转换成字节数组

作者&投稿:荡治 (若有异议请与网页底部的电邮联系)
我要把一个已经变成byte[]流的图片绑定到asp.net的<image>,要怎么弄,我是用C#~

新建一个aspx页面,比如命名为someimage.aspx在cs的Page_Load里面直接写
Response.BinaryWrite(buff);

buff是定义的byte[]变量

再要显示的页面中
就行,不要边框的话加上style="border:0;"
注意举例是都在同一个目录下

存储图片:以二进制的形式存储图片时,要把数据库中的字段设置为Image数据类型(SQL Server),存储的数据是Byte[].

1.参数是图片路径:返回Byte[]类型:
public byte[] GetPictureData(string imagepath)
{
/**/////根据图片文件的路径使用文件流打开,并保存为byte[]
FileStream fs = new FileStream(imagepath, FileMode.Open);//可以是其他重载方法
byte[] byData = new byte[fs.Length];
fs.Read(byData, 0, byData.Length);
fs.Close();
return byData;
}

2.参数类型是Image对象,返回Byte[]类型:
public byte[] PhotoImageInsert(System.Drawing.Image imgPhoto)
{
//将Image转换成流数据,并保存为byte[]
MemoryStream mstream = new MemoryStream();
imgPhoto.Save(mstream, System.Drawing.Imaging.ImageFormat.Bmp);
byte[] byData = new Byte[mstream.Length];
mstream.Position = 0;
mstream.Read(byData, 0, byData.Length);
mstream.Close();
return byData;
}
通过上面的方法就可以把图片转换成Byte[]对象,然后就把这个对象保存到数据库中去就实现了把图片的二进制格式保存到数据库中去了。把数据库中的图片读取出来,实际上这是一个相反的过程。

读取图片:把相应的字段转换成Byte[]即:Byte[] bt=(Byte[])XXXX
1.参数是Byte[]类型,返回值是Image对象:
public System.Drawing.Image ReturnPhoto(byte[] streamByte)
{
System.IO.MemoryStream ms = new System.IO.MemoryStream(streamByte);
System.Drawing.Image img = System.Drawing.Image.FromStream(ms);
return img;
}

2.参数是Byte[] 类型,没有返回值,这是针对asp.net中把图片从输出到网页上(Response.BinaryWrite)
public void WritePhoto(byte[] streamByte)
{
// Response.ContentType 的默认值为默认值为“text/html”
Response.ContentType = "image/GIF";
//图片输出的类型有: image/GIF image/JPEG
Response.BinaryWrite(streamByte);
}

补充:
针对Response.ContentType的值,除了针对图片的类型外,还有其他的类型: Response.ContentType = "application/msword";
Response.ContentType = "application/x-shockwave-flash";
Response.ContentType = "application/vnd.ms-excel";
另外可以针对不同的格式,用不同的输出类型以适合不同的类型:
switch (dataread("document_type"))
{
case "doc":
Response.ContentType = "application/msword";
case "swf":
Response.ContentType = "application/x-shockwave-flash";
case "xls":
Response.ContentType = "application/vnd.ms-excel";
case "gif":
Response.ContentType = "image/gif";
case "Jpg":
Response.ContentType = "image/jpeg";
}

二进制文件转换部分:
string strpath;
protected void Page_Load(object sender, EventArgs e)
{
strpath = HttpContext.Current.Request.PhysicalApplicationPath + "1.bmp";
}

//图片转成二进制
public byte[] getBytes(string filePath)
{
System.IO.FileStream fs = new System.IO.FileStream(filePath, System.IO.FileMode.Open);
byte[] imgData = new byte[fs.Length];
fs.Read(imgData, 0, (int)fs.Length);
return imgData;
}

//二进制转成图片
private System.Drawing.Image convertByteToImg(byte[] imgData)
{
System.IO.MemoryStream ms = new System.IO.MemoryStream(imgData);
System.Drawing.Image img = System.Drawing.Image.FromStream(ms);
return img;
}

protected void Button1_Click(object sender, EventArgs e)
{
//下面两行可将图片直接显示
//System.Drawing.Image img = convertByteToImg(getBytes(strpath));
//img.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);

//下面几行代码将图片显示在IMAGE中
byte[] photo = getBytes(strpath);
//图片路径
string strPath = "2.JPG";
string strPhotoPath = Server.MapPath(strPath);
//保存图片文件
BinaryWriter bw = new BinaryWriter(File.Open(strPhotoPath,FileMode.OpenOrCreate));
bw.Write(photo);
bw.Close();
//显示图片
this.Image1.ImageUrl = strPath;
}

鉴于很多同学咨询,如何向数据库中存储并读取图片的方法.在此给出代码,供大家参考.但个人建议,尽量少向数据库中存储如此大二进制数据,会造成数据库过于膨胀,如果采用DataSet读取数据时,当数据量过大还会造成内存严重占用,尤其是在B/S程序设计中,后果会更明显,除非用户强烈要求.一般存储图片时,如无特殊要求,只需要在数据库中存储图片的相对路径即可,将真正的图片存储在指定的文件夹就OK了.当然,两种方式在不同的适用面都有自己的优缺点,下面几篇文章大家可以看看:

以下是存储并显示图片的代码
private void button1_Click(object sender, EventArgs e) //button1的Click事件
//存储图片的代码,需在界面添加按钮Button1,打开文件对话框openFileDialog1,列表框listBox1和图片控件pictureBox1,代码注释部分为SqlServer实现,非注释部分为Access实现,在Access中,数据库名为mydb.mdb,表名为photos,字段为photoid(文本类型,主键),photoimg(OLE对象类型,用于存图片)
{
openFileDialog1.Filter = "*jpg|*.jpg|*bmp|*.bmp|*gif|*.gif";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
string fullpath = openFileDialog1.FileName
FileStream fs = new FileStream(fullpath, FileMode.Open, FileAccess.Read);
byte[] imagebytes = new byte[fs.Length];
BinaryReader br = new BinaryReader(fs);
imagebytes = br.ReadBytes(Convert.ToInt32(fs.Length));//把所选图片文件的流中的数据读入字节数组
OleDbConnection conn = new OleDbConnection("provider=microsoft.jet.oledb.4.0;data source=" + Application.StartupPath + "[url=file://\\mydb.mdb]\\mydb.mdb[/url]");
conn.Open();
OleDbCommand cmd = new OleDbCommand("insert into photos values(@id,@Image)", conn);
cmd.Parameters.Add("@id", OleDbType.VarChar, 50);
cmd.Parameters.Add("@Image", OleDbType.Binary);//图片数据
cmd.Parameters["@id"].Value = DateTime.Now.Year.ToString() + DateTime.Now.Month + DateTime.Now.Day + DateTime.Now.Hour + DateTime.Now.Minute + DateTime.Now.Second + DateTime.Now.Millisecond;
cmd.Parameters["@Image"].Value = imagebytes;//为图片数据的SQL参数赋值
cmd.ExecuteNonQuery();
conn.Close();
//SqlConnection conn = new SqlConnection("server=LENOVO-B2A10C83;database=mydb;uid=sa;pwd=128126");
//conn.Open();
//SqlCommand cmd = new SqlCommand("insert into photos values(@id,@Image)", conn);
//cmd.Parameters.Add("@id", SqlDbType.VarChar, 50);
//cmd.Parameters.Add("@Image", SqlDbType.Image );//与ACCESS数据库唯一不同点
//cmd.Parameters["@id"].Value = DateTime.Now.Year.ToString() + DateTime.Now.Month + DateTime.Now.Day + DateTime.Now.Hour + DateTime.Now.Minute + DateTime.Now.Second + DateTime.Now.Millisecond;
//cmd.Parameters["@Image"].Value = imagebytes;
//cmd.ExecuteNonQuery();
//conn.Close();
MessageBox.Show("图片上传成功");
bindListBox();
}
}
private void bindListBox()//将photoId字段的数据显示在listBox1中,以便查看存入库中的每一个图片
{
OleDbConnection conn = new OleDbConnection("provider=microsoft.jet.oledb.4.0;data source=" + Application.StartupPath + "[url=file://\\mydb.mdb]\\mydb.mdb[/url]");
OleDbCommand cmd = new OleDbCommand("select photoid from photos");
cmd.Connection = conn;
OleDbDataAdapter da = new OleDbDataAdapter();
da.SelectCommand = cmd;
DataSet ds = new DataSet();
da.Fill(ds);
listBox1.DataSource = ds.Tables[0].DefaultView;//设置listBox1的数据源
listBox1.DisplayMember = "photoid";//设置listBox1即将显示数据源中的哪个字段的数据
//SqlConnection conn = new SqlConnection("server=LENOVO-B2A10C83;database=mydb;uid=sa;pwd=128126");
//SqlCommand cmd = new SqlCommand("select photoid from photos");
//cmd.Connection = conn;
//SqlDataAdapter da = new SqlDataAdapter();
//da.SelectCommand = cmd;
//DataSet ds = new DataSet();
//da.Fill(ds);
//listBox1.DataSource = ds.Tables[0].DefaultView;
//listBox1.DisplayMember = "photoid";
}
private void Form1_Load(object sender, EventArgs e) //Form1的Load事件
{
bindListBox();//程序加载时,先将数据库中现有的数据显示在listBox1中
}
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)//listBox1的SelectedIndexChanged事件,当在listBox1中选择不同的photoId时,pictureBox1中显示该photoId对应的图片
{
OleDbConnection conn = new OleDbConnection("provider=microsoft.jet.oledb.4.0;data source=" + Application.StartupPath + "[url=file://\\mydb.mdb]\\mydb.mdb[/url]");
OleDbCommand cmd = new OleDbCommand("select photoimg from photos where photoid='" + ((DataRowView)(listBox1.SelectedValue))[0] + "'");//将listBox1中选中的photoId所对应的图片数据从数据库中取出来
cmd.Connection = conn;
conn.Open();
OleDbDataReader dr = cmd.ExecuteReader();
dr.Read();
byte[] b = (byte[])dr[0];//将图片数据转换成字节数组
MemoryStream stmBLOBData = new MemoryStream(b);//将该字节数组转换成内存流
pictureBox1.Image = Image.FromStream(stmBLOBData);//将该内存流转换成Image对象,并显示在pictureBox1中
//SqlConnection conn = new SqlConnection("server=LENOVO-B2A10C83;database=mydb;uid=sa;pwd=128126");
//SqlCommand cmd = new SqlCommand("select photoimg from photos where photoid='" + ((DataRowView)(listBox1.SelectedValue))[0] + "'");
//cmd.Connection = conn;
//conn.Open();
//SqlDataReader dr = cmd.ExecuteReader();
//dr.Read();
//byte[] b = (byte[])dr[0];
//MemoryStream stmBLOBData = new MemoryStream(b);
//pictureBox1.Image = Image.FromStream(stmBLOBData);
}
另外,站长团上有产品团购,便宜有保证

鉴于很多同学咨询,如何向数据库中存储并读取图片的方法.在此给出代码,供大家参考.但个人建议,尽量少向数据库中存储如此大二进制数据,会造成数据库过于膨胀,如果采用DataSet读取数据时,当数据量过大还会造成内存严重占用,尤其是在B/S程序设计中,后果会更明显,除非用户强烈要求.一般存储图片时,如无特殊要求,只需要在数据库中存储图片的相对路径即可,将真正的图片存储在指定的文件夹就OK了.当然,两种方式在不同的适用面都有自己的优缺点,下面几篇文章大家可以看看:

以下是存储并显示图片的代码
private void button1_Click(object sender, EventArgs e) //button1的Click事件
//存储图片的代码,需在界面添加按钮Button1,打开文件对话框openFileDialog1,列表框listBox1和图片控件pictureBox1,代码注释部分为SqlServer实现,非注释部分为Access实现,在Access中,数据库名为mydb.mdb,表名为photos,字段为photoid(文本类型,主键),photoimg(OLE对象类型,用于存图片)
{
openFileDialog1.Filter = "*jpg|*.jpg|*bmp|*.bmp|*gif|*.gif";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
string fullpath = openFileDialog1.FileName
FileStream fs = new FileStream(fullpath, FileMode.Open, FileAccess.Read);
byte[] imagebytes = new byte[fs.Length];
BinaryReader br = new BinaryReader(fs);
imagebytes = br.ReadBytes(Convert.ToInt32(fs.Length));//把所选图片文件的流中的数据读入字节数组
OleDbConnection conn = new OleDbConnection("provider=microsoft.jet.oledb.4.0;data source=" + Application.StartupPath + "[url=file://\\mydb.mdb]\\mydb.mdb[/url]");
conn.Open();
OleDbCommand cmd = new OleDbCommand("insert into photos values(@id,@Image)", conn);
cmd.Parameters.Add("@id", OleDbType.VarChar, 50);
cmd.Parameters.Add("@Image", OleDbType.Binary);//图片数据
cmd.Parameters["@id"].Value = DateTime.Now.Year.ToString() + DateTime.Now.Month + DateTime.Now.Day + DateTime.Now.Hour + DateTime.Now.Minute + DateTime.Now.Second + DateTime.Now.Millisecond;
cmd.Parameters["@Image"].Value = imagebytes;//为图片数据的SQL参数赋值
cmd.ExecuteNonQuery();
conn.Close();
//SqlConnection conn = new SqlConnection("server=LENOVO-B2A10C83;database=mydb;uid=sa;pwd=128126");
//conn.Open();
//SqlCommand cmd = new SqlCommand("insert into photos values(@id,@Image)", conn);
//cmd.Parameters.Add("@id", SqlDbType.VarChar, 50);
//cmd.Parameters.Add("@Image", SqlDbType.Image );//与ACCESS数据库唯一不同点
//cmd.Parameters["@id"].Value = DateTime.Now.Year.ToString() + DateTime.Now.Month + DateTime.Now.Day + DateTime.Now.Hour + DateTime.Now.Minute + DateTime.Now.Second + DateTime.Now.Millisecond;
//cmd.Parameters["@Image"].Value = imagebytes;
//cmd.ExecuteNonQuery();
//conn.Close();
MessageBox.Show("图片上传成功");
bindListBox();
}
}
private void bindListBox()//将photoId字段的数据显示在listBox1中,以便查看存入库中的每一个图片
{
OleDbConnection conn = new OleDbConnection("provider=microsoft.jet.oledb.4.0;data source=" + Application.StartupPath + "[url=file://\\mydb.mdb]\\mydb.mdb[/url]");
OleDbCommand cmd = new OleDbCommand("select photoid from photos");
cmd.Connection = conn;
OleDbDataAdapter da = new OleDbDataAdapter();
da.SelectCommand = cmd;
DataSet ds = new DataSet();
da.Fill(ds);
listBox1.DataSource = ds.Tables[0].DefaultView;//设置listBox1的数据源
listBox1.DisplayMember = "photoid";//设置listBox1即将显示数据源中的哪个字段的数据
//SqlConnection conn = new SqlConnection("server=LENOVO-B2A10C83;database=mydb;uid=sa;pwd=128126");
//SqlCommand cmd = new SqlCommand("select photoid from photos");
//cmd.Connection = conn;
//SqlDataAdapter da = new SqlDataAdapter();
//da.SelectCommand = cmd;
//DataSet ds = new DataSet();
//da.Fill(ds);
//listBox1.DataSource = ds.Tables[0].DefaultView;
//listBox1.DisplayMember = "photoid";
}
private void Form1_Load(object sender, EventArgs e) //Form1的Load事件
{
bindListBox();//程序加载时,先将数据库中现有的数据显示在listBox1中
}
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)//listBox1的SelectedIndexChanged事件,当在listBox1中选择不同的photoId时,pictureBox1中显示该photoId对应的图片
{
OleDbConnection conn = new OleDbConnection("provider=microsoft.jet.oledb.4.0;data source=" + Application.StartupPath + "[url=file://\\mydb.mdb]\\mydb.mdb[/url]");
OleDbCommand cmd = new OleDbCommand("select photoimg from photos where photoid='" + ((DataRowView)(listBox1.SelectedValue))[0] + "'");//将listBox1中选中的photoId所对应的图片数据从数据库中取出来
cmd.Connection = conn;
conn.Open();
OleDbDataReader dr = cmd.ExecuteReader();
dr.Read();
byte[] b = (byte[])dr[0];//将图片数据转换成字节数组
MemoryStream stmBLOBData = new MemoryStream(b);//将该字节数组转换成内存流
pictureBox1.Image = Image.FromStream(stmBLOBData);//将该内存流转换成Image对象,并显示在pictureBox1中
//SqlConnection conn = new SqlConnection("server=LENOVO-B2A10C83;database=mydb;uid=sa;pwd=128126");
//SqlCommand cmd = new SqlCommand("select photoimg from photos where photoid='" + ((DataRowView)(listBox1.SelectedValue))[0] + "'");
//cmd.Connection = conn;
//conn.Open();
//SqlDataReader dr = cmd.ExecuteReader();
//dr.Read();
//byte[] b = (byte[])dr[0];
//MemoryStream stmBLOBData = new MemoryStream(b);
//pictureBox1.Image = Image.FromStream(stmBLOBData);
}



ASP.NET 如何将HTML标记直接输出,
方法一:\/\/createElement()创建input元素到obj对象中 var obj = document.createElement('input');\/\/选择要生成地点的前一个元素 var before = document.getElementById('before');\/\/设置obj元素名,值 obj.name='name';obj.value='value';\/\/setAttribute是可以自由定义属性的,不仅id和type,name和...

构建ASP.NET网站十大必备工具
构建ASP NET网站十大必备工具 最近使用ASP NET为公司构建了一个简单的公共网站(该网站的地址) 在这个过程中 我们使用了数量很多的免费工具 如果把构建ASP NET网站的必备工具总结一下 将会是一件十分有趣的事情 这些工具既支持ASP NET Web Forms又支持ASP NET MVC 性能工具 读了两本关于网站的前端性能的书(这两...

ASP.NET 2.0 中跨网页提交的三种方法[2]
五 实现跨网页提交 这部分将讨论一下如何在ASP NET 中实现跨网页提交 为了开始我们的学习 假设有两个Web页 一个是源Web页 另一个是目标Web页 在源网页中初始化了使用按钮进行的跨网页提交操作 我们首先必须设置目标网页按钮的PostBackUrl属性 顺便说一句 所有实现了System Web UI WebControls ...

在Asp.Net中如何将从SQL读出来的表转化成XML文件并保存在指定的位置中...
___读出来的数据放到dataSet里,然后调用GetXml()方法就能生成XML 然后再将生成的xml字符串写入到文件里,下边的保存代码是sdk里的源码 StreamWriter sr = File.CreateText(文件名);sr.WriteLine ("要保存的xml文本");sr.Close();

asp.net将PDF文件转换成图片,并且在网页上显示
本文采用Adobe Acrobat9.0的COM组件,将Pdf文件的每一页转换成对应的图片文件。开发环境:VS2010,.Net Framework4.0,Adobe Acrobat9.0。工程中添加COM引用:Adobe Acrobat 9.0 Type Library(必须装了Adobe Acrobat9.0才会有)。思路:1、需要用到的COM对象:1)CAcroPDDoc:Acrobat文档对象。2)C...

ASP.NET中的如何将.cs文件编译成.dll文件?
服务器上没有CS文件是因为是已经发布过的,假如你改ABC.ASPX.CS这个页面,改完后先把程序发布一下,找到ABC.ASPX先覆盖到服务器上,然后看这个页面源码第一行,最后有个APP_WEB_???,然后找你刚发布的BIN文件夹找以这个DLL放到服务器的BIN里就行了。

ASP.NET入门教程 6.3 为页面添加事件[3]
Protected Sub Page_Load lProtected表明谁可以使用这个过程 在这个示例中 它表示只有同一个类中的其他程序可以使用这个过程 第 章将详细讨论 lSub说明这是一个子例程 同时它不会返回任何值 这意味着ASP NET能够直接调用这个过程 而且不会希望有任何值会返回 lPage_Load是事件过程的名称 事件过程的名称...

asp.net如何将string转换为string[]
比如说 string a ="1,2,3,4,5,6";举例以逗号隔开,当然也可以使别的 string[] b = a.split(',');以逗号为分割符,保存在数组 string c = b[0];\/\/c=1;\/\/b[1]=2

asp.net 如何将超链接在当前窗口的指定区域中显示
没太听明白你的问题.超链接想在哪里显示.就在哪里直接写就可以了啊.或者说.你问的是锚链接?aaa aaa 又或者说.你问的是框架页?aaa

asp.net实现将数据输出到word
标准word文档的格式微软暂未公布,由此我们可将需要导出的内容转为标准HTML文件储存,后缀名为.doc 也可以将要导出内容转为标准XML格式存储,改后缀为.doc 具体格式随意新建个word文档,输入内容,另存为.XML可见 另外一种导出方式为word导出标准格式,服务器需要安装Microsoft Office word,需要预先设置好一...

尉犁县17239946095: ASP.NET中如何实现 Image显示数据库中的图象? -
邰司依龙: 绑定数据源的替代解决方案:第一步:另外做个 aspx 页面,如 showimage.aspx 文件,该页面通过传递过来的查询字符串参数, 而从数据库中加载指定的图片:int id;int.TryParse(this.Request. QueryString[ID], out id); Response.ContentType = image/Gif; Response.BinaryWrite(已经读入btye[ ]类型变量中的图像);}最后一步:你在需要绑定数据源的页面,绑定记录的 ID 到 Image 控件的 ImageUrl=showimage.aspx?id=<%

尉犁县17239946095: asp中image控件如何使用? -
邰司依龙: <img src="图片路径文件名" width="宽度" height="高度" border=0>放到<body></body>里边

尉犁县17239946095: image控件如何显示数据库中的图片 asp.net -
邰司依龙: 试下这段代码~我是这样实现的//byte[] buffByle = (Byte[])prtb.Rows[0]["sPicture"];//把数据库中图片的二进制数据转换一个byte数组 //int filelength = buffByle.Length;//获得数组的长度 ////创建在服务器上对应虚拟路径的物理路径 ////string myUrl ...

尉犁县17239946095: ASP.NET中有一个FileUpLoad和一个Image控件,怎么样才能使FileUpLoad选择了图片,Image就可以显示出来? -
邰司依龙: <input id="FileUpload1" type="file" runat="server" onChange="selectimage(this)" /> <img id="imageview" runat="server" src="" style="display:none" alt="暂无图片" /> function selectimage(imageurl) {var imageview=document.getElementById("imageview");imageview.style.display="block";imageview.src=imageurl.value; }

尉犁县17239946095: 在ASP.net中,控件Image 在后台程序已经写好查询一条资料的数据,然后在页面上我想显示图片,那么怎么? -
邰司依龙: 如果记录的数据是数据流(或其它类型)可以先将它转化为图片,然后再将图片路径赋给ImageUrl;转化图片://创建图像 // 图像编码 private void Initial(string imgbm) { string file = "", all = ""; byte[] content = null;//声明二进制流对象 file = ...

尉犁县17239946095: 有高手可以给我讲解下asp.net读取SQL里面的image字段显示出图片!
邰司依龙: 首先要确保你的路径在数据库中要正确,比如在你的项目中有一个Image文件夹,里面放置的图片,那么在数据库中就这样写~/Image/1.jpg,相对路径, 然后在前台页面显示的时候就要进行绑定了,记得不要用lable控件,如果用的话,读取出来的就是原来的路径,也就是:~/Image/1.jpg,所以在image控件中绑定:eval("字段名"), 代码应该会写吧! 差不多就这样!

尉犁县17239946095: asp.net 中服务器空间 Image -
邰司依龙: 可以使用HyperLink,设置其ImageUrl和NavigateUrl

尉犁县17239946095: 在ASP.NET中怎么同过一个image来获取网站文件夹中的图片呢 -
邰司依龙: imageurl=“那张图片的地址" 不就可以了么 我没明白你的意思

尉犁县17239946095: ASP.NET 怎么获取Image控件图片的大小 -
邰司依龙: 先得到IMAGE里图片路径 System.Drawing.Image imgPhoto = System.Drawing.Image.FromFile("图片路径名"); int sourceWidth = imgPhoto.Width; int sourceHeight = imgPhoto.Height;

尉犁县17239946095: 救命!!!怎样在ASP.NET网页上的DataList控件里面根据数据库的条数动态添加Image控件呢? -
邰司依龙: 不是很明白你的意思 是怎么将数据库的图片循环读取输出吗? 在DataList控件模板编辑里边添加 <img src="<%# Eval("image") %>.gif" alt="" />如果数据库中图片路径有后缀就不需要再添加后缀了

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网