ASP.NET网站制作之用ASP.NET 2.0在Oracle中存取图片(文件...
因为各系统的API不同,代码调用API编写程序就会遇到很多不兼容的地方,比如Java改写后的Serv-U就不能在手机上执行,手机的游戏也不能直接在微机上执行。asp.net|oracle偶然因为某种必要(如平安性)须将图片或文件寄存在数据库中,固然一样平常情形下出格是文件对照年夜的时分良多人不倡始将文件以二进制的情势寄存在数据库中的,现将Oracle中文件的存取收拾以下(思绪和在SQLServer2000中存取一样,存储时在数据中寄存图片或文件的二进制字撙节,读出时将数据库中对应字段读取到字节数据,然后输入):1、在TOAD或SQLPlus中创立一下数据库表。
1CREATETABLETEST_TABLE
2(
3IDVARCHAR2(36BYTE),
4NAMEVARCHAR2(50BYTE),
5PHOTOBLOB
6)
7
2、新建一个ASPX页面,在页面上放一个FileUpload控件,定名为fileUp,安排两个按钮散布为btnSave(保留),btnRead(读取)。
3、在btnSave的事务中实行一下代码,用来保留图片或文件:
保留图片(文件)到Oracle
1StringBuildersbSQL=newStringBuilder("insertintoTest_Table(ID,Name,Photo)values(:ID,:Name,:Photo)");
2OracleConnectioncn=newOracleConnection(strCn);
3OracleCommandcmd=cn.CreateCommand();
4cmd.CommandText=sbSQL.ToString();
5cmd.Parameters.Add(":ID",OracleType.VarChar,36).Value=Guid.NewGuid().ToString();
6cmd.Parameters.Add(":Name",OracleType.VarChar,50).Value=fileUp.FileName;;
7intintLen=fileUp.PostedFile.ContentLength;
8byte[]pic=newbyte;
9fileUp.PostedFile.InputStream.Read(pic,0,intLen);
10cmd.Parameters.Add(":Photo",OracleType.Blob).Value=pic;
11try
12{
13cn.Open();
14cmd.ExecuteNonQuery();
15}
16catch(Exceptionex)
17{
18Response.Write(ex.Message);
19}
20finally
21{
22cn.Close();
23}
24
4、读取办法以下:
从Oracle中读取图片(文件)
1OracleConnectioncn=newOracleConnection(strCn);
2OracleCommandcmd=cn.CreateCommand();
3cmd.CommandText="selectphotofromtest_table";
4try
5{
6cn.Open();
7MemoryStreamstream=newMemoryStream();
8IDataReaderreader=cmd.ExecuteReader();
9if(reader.Read())
10{
11byte[]pic=(byte[])reader;
12//byte[]pic=(byte[])cmd.ExecuteScalar();
13stream.Write(pic,0,pic.Length);
14//BitmapbitMap=newBitmap(stream);
15//Response.ContentType="image/Jpeg";
16//bitMap.Save(Response.OutputStream,ImageFormat.Jpeg);
17//正文部分能够将图片显现在IE中,而不是下载图片,
18//上面的办法间接下载文件
19Response.ContentType="application/octet-stream";
20Response.AddHeader("Content-Disposition","attachment;FileName=demo.JPG");
21Response.BinaryWrite(pic);
22Response.End();
23}
24
25}
26catch(Exceptionex)
27{
28Response.Write(ex.Message);
29}
30finally
31{
32cn.Close();
33}
34
简单的说:.net只有微软一家在做的,微软也不允许别人跟他做相同的工具,所以他就把需要的工具全部封装在.net的平台上了;而java是公开了。 主流网站开发语言之PHP:PHP的全名非常有趣,它是一个巢状的缩写名称——“PHP:HypertextPreprocessor”,打开缩写还是缩写。PHP是一种HTML内嵌式的语言(就像上面讲的ASP那样)。而PHP独特的语法混合了C,Java,Perl以及PHP式的新语法。它可以比CGI或者Perl更快速地执行动态网页。 asp.net最主要特性包括:◆编程代码更简洁◆网站可实现的功能更强大◆运行效率高◆节省服务器的动作资源 ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码。 关于ASP.NET功能上,ASP.NET比微软以前的ASP(96年出现)有更强大的library,更好的稳定性。ASP.NET可以使用.NETFramework中所有组件(也就是说.NET能实现的,ASP.NET一样能实现)。 比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变。 在调试JSP代码时,如果程序出错,JSP服务器会返回出错信息,并在浏览器中显示。这时,由于JSP是先被转换成Servlet后再运行的,所以,浏览器中所显示的代码出错的行数并不是JSP源代码的行数。 平台无关性是PHP的最大优点,但是在优点的背后,还是有一些小小的缺点的。如果在PHP中不使用ODBC,而用其自带的数据库函数(这样的效率要比使用ODBC高)来连接数据库的话,使用不同的数据库,PHP的函数名不能统一。这样,使得程序的移植变得有些麻烦。不过,作为目前应用最为广泛的一种后台语言,PHP的优点还是异常明显的。 ASP.NET:ASP.net是Microsoft.net的一部分,作为战略产品,不仅仅是ActiveServerPage(ASP)的下一个版本;它还提供了一个统一的Web开发模型,其中包括开发人员生成企业级Web应用程序所需的各种服务。ASP.NET的语法在很大程度上与ASP兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。
页:
[1]