运行文件???
我将一个htm,TXT(最多也就100K左右)一类的文件以二进制的方式存进数据库中!
读出后!我想直接显示(运行他)。
也就是说不用在硬盘上建立一个文件。然后在运行他而是直接(显示)运行他。
可以实现否????
(呵呵!占用内存应该不是很大吧!假如太大就没戏了!呵呵!!)
问题点数:50、回复次数:16Top
1 楼panyee(快乐王子)回复于 2003-08-04 00:21:14 得分 0
可以吗? 应该要存在temp目录下, 再运行Top
2 楼nyucv(思索者)回复于 2003-08-04 00:25:55 得分 0
MemoryStream类
MemoryStream 类创建这样的流,该流以内存而不是磁盘或网络连接作为支持存储区。
为什么不可能写呢?呵呵!
我也在想也许是天访夜谭!呵呵!:)Top
3 楼saucer(思归)回复于 2003-08-04 00:27:34 得分 25
1. get the data from the data
2. convert the byte[] to string
3. use Response.WriteTop
4 楼nyucv(思索者)回复于 2003-08-04 00:31:42 得分 0
5555555第一高手出现。这下有点搞头了!
前面两项实现了。后面Response.Write这个不知道怎么搞:(Top
5 楼panyee(快乐王子)回复于 2003-08-04 00:35:03 得分 0
Response.Write是在网页中才用的
把内容复制到剪贴板中, 再打开记事本, 贴粘过去
Top
6 楼nyucv(思索者)回复于 2003-08-04 00:40:20 得分 0
Response.Write这我知道:)
操作剪贴版??
这也不行呀!我从数据库读出的二进制流!也就是整个文件化成二进制呀!
Response.Write用这写好像不行!
这只能写HTML一类的内容呀!Top
7 楼saucer(思归)回复于 2003-08-04 00:41:54 得分 0
在哪里运行?你用WebForm还是WinForm?Top
8 楼nyucv(思索者)回复于 2003-08-04 00:43:19 得分 0
WINfORM
难得到你的关注!偶很高兴!
Top
9 楼nyucv(思索者)回复于 2003-08-04 00:45:20 得分 0
打开现有文件并允许您指定编辑器。
File.OpenFile filename [/e:editorname]
这好像也不行。还是得指出路径!Top
10 楼saucer(思归)回复于 2003-08-04 00:53:02 得分 0
是用浏览器打开?
see
WebBroswer In C#
http://www.csharphelp.com/archives/archive146.htmlTop
11 楼nyucv(思索者)回复于 2003-08-04 00:57:55 得分 0
谢谢!思归老大!
我看看:)
Top
12 楼panyee(快乐王子)回复于 2003-08-04 01:00:31 得分 25
见班门斧发过一个网址, 是winform中编辑html的的控件, 它可以解析html代码, 把你数据库中的html, txt全读出来, 把byte[]
string strs = System.Text.Encoding.GetEncoding("gb2312").GetString(bytes);
转成字串, 直接把它赋给html显示控件, 让它显示内容.
但这样还是不能说, 你打开一个独立的窗口, 如一个IE或一个记事本, 然后再去取得那个窗口的句柄, 控制那个新窗口, 把内容直接写到记录本, 或在IE中直接显示一个待解析的字符串Top
13 楼nyucv(思索者)回复于 2003-08-04 01:04:50 得分 0
FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read);
BinaryReader br = new BinaryReader(fs);
byte[] fileBytes = br.ReadBytes((int)fs.Length);
br.Close();
fs.Close();
return fileBytes;
我这字节是这样存进数据库中的呀!存的是fileBytes呀!
问题是现在必须得写到硬盘上。然后在运行它:((((Top
14 楼nyucv(思索者)回复于 2003-08-04 01:05:54 得分 0
呵呵!麻烦了!
反正得找一地方把它给存下来。然后才能运行:(Top
15 楼panyee(快乐王子)回复于 2003-08-04 01:19:28 得分 0
string strFile = "c:\\temp\\1.txt";
System.Diagnostics.Process.Start(strFile);麻烦啊, 886Top
16 楼nyucv(思索者)回复于 2003-08-04 11:27:32 得分 0
呵呵!不想了!还是用此方法吧!
读出来后写到硬盘。程序退出时删除。这要方便点!
谢谢!楼上几位高手的参与!:)Top




