两个问题:1.如何用c#将文件直接写入SQL数据库...... 2.如何将本地文件上传到服务器(c/s模式)...... 最近刚完成了一个医疗方面的管理系统.web模式,用C#.NET写的.希望以后有机会能与各位合作. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1不清楚,看一下SqlCommand的帮助2使用XML SERVER 的化需要将文件在客户端读取到流中,然后使用basc64编码为Text,在然后就可以上传了.自己用.NET远程的化就直接发送这个流就可以了. 到指定路径的话,应该在Server端指定然后在保存,客户端指提供数据就可以了. 2。可以使用webservice进行文件上传 问题一:把文件读出来,转换成byte[],然后存入数据库;问题二:1、如果是share的话,file.copy即可2、如果是ftp的话,去www.codeproject.com下一个ftp的类 问题一可参考:http://search.csdn.net/Expert/topic/1690/1690497.xml?temp=.8506281 2. 的话,一般都是用 ftp 。可以使用 windows 自带的 ftp 服务。 在论坛上搜索一下关键字 ftp ,应该很多的。 楼上的方法度不错,补充一下1,sql里有image类型字段,最大可存2g2,使用webservice要先把byte[]转为base64字符串,传给服务器,服务器再把base64转为byte[]可以使用remoting 1// to: linaren(迷茫DotNet),Knight94(愚翁)和hdt(千金散尽还复来,一给就是200分) 我这边已经可以将文件Byte[] 到数据库了,过程大概这样:FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read); Byte[] mybyte=new Byte[fs.Length]; int ll=Convert.ToInt32(fs.Length); fs.Read(mybyte,0,ll);SqlConnection......可以我现在不知道怎么从数据库中取出来.确切的说应该是把文件从数据库中读出来以后用什么方法存储到我指定机器的位置?2//to 所有朋友 我现在有FTP服务,但我得用别人的FTP客户端上传我的文件.我怎么样自己用C#实现上传功能.暂时我的想法是能将文件传上服务器就可以.(C/S)感谢所有支持的朋友! 1、问题一:从数据库取出来,其实就是往里面写一样,只不过是反过来操作,大致如下:首先,从数据库读出来,然后把字段强转换成byte[],然后用MemoryStream进行读,剩下来的就是转换成相应的文件了。2、问题二:别人的FTP客户端,给你提供什么接口了吗?你什么都没说,我们怎么知道什么接口,也不好给你说啊! 2;在c/s程序中调用web服务传输文件,不过需要在服务器端要搭建一个web service,http://dotnet.aspx.cc/ShowDetail.aspx?id=6381BD5F-51F3-4339-4239-1328564A1B2A to: Knight94(愚翁) 你好! 首先感谢你的提示.我已经做到"然后把字段强转换成byte[],".你先帮我看一下代码.大概这样的Byte[] mybyte=new Byte[(int)mydatareader["cicun"]]; mybyte=(byte[])mydatareader["tupian"];"cicun"是文件大小 ,"tupian"是相应文件接下来按照你的提示创建了MemoryStream首先我不知道创建的对不对,代码这样的MemoryStream myMemoryStream=new MemoryStream(mybyte,0,(int)mydatareader["cicun"]);如果不对,请告诉我怎么用MemoryStream .如果对的话,也请你告诉我"剩下来的就是转换成相应的文件了",怎么做?怎么转换?真的就剩这么一步了.不是我偷懒不想自己做,而是能力不行.再次感谢你了. to :所有朋友 其实我这两个问题对于我来说,至少现在是为了解决一个问题. 简单的说就是客户端将任意文件(视频等等)传到服务器. 但不是B/S的方式. 对了,请大家别告诉我在C/S里嵌入一个浏览器......呵呵. 这里感谢所有留言的朋友了. to: zhzuo(秋枫) 你好!非常感谢你!我没做web service,但我按照Knight94(愚翁)等朋友的思路下来的时候,在你的代码中发现了我需要的东西.真没想到几分钟搞定了.真的不知道怎么感谢你们,同时在这里我感谢我的同事给我推荐的csdn.有机会还是要感谢你们的. 我又查了一遍,发现其实并不用转换成MemoryStream,直接可以用byte[]写到文件了,大致如下:byte[] bPhoto=……//你从数据库中读出来的数据if(bPhoto!=null){ FileStream fsStream=new FileStream( yourFileName, FileMode.Create,FileAccess.Write);//文件mode你可以按照自己的意愿改变 try { fsStream.Write(bPhoto,0,bPhoto.Length); } catch(IOException err) { MessageBox.Show(err.Message, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Error); } catch(Exception err) { MessageBox.Show(err.Message, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Error); } // Close the stream fsStream.Close();} C# 关于实例化的问题 请教一个问题 有关树节点的问题 关于domainUpDown.item.add的问题 c#检索出的数据写入execl中 建置問題~'System.Runtime.InteropServices.GuidAttribute' 無效 一个ado.net的超级简单的问题 C#做登陆时的问题 含泪跪求XP资源管理器工具栏里的图标 请教!!!! 字符串问题??? 能不能在dataGrid中筛选某列数值小于60的行?
2使用XML SERVER 的化需要将文件在客户端读取到流中,然后使用basc64编码为Text,在然后就可以上传了.自己用.NET远程的化就直接发送这个流就可以了.
问题二:
1、如果是share的话,file.copy即可
2、如果是ftp的话,去www.codeproject.com下一个ftp的类
http://search.csdn.net/Expert/topic/1690/1690497.xml?temp=.8506281
可以使用 windows 自带的 ftp 服务。
1,sql里有image类型字段,最大可存2g
2,使用webservice要先把byte[]转为base64字符串,传给服务器,服务器再把base64转为byte[]
可以使用remoting
我这边已经可以将文件Byte[] 到数据库了,过程大概这样:
FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);
Byte[] mybyte=new Byte[fs.Length];
int ll=Convert.ToInt32(fs.Length);
fs.Read(mybyte,0,ll);
SqlConnection......可以我现在不知道怎么从数据库中取出来.确切的说应该是把文件从数据库中读出来以后用什么方法存储到我指定机器的位置?2//to 所有朋友
我现在有FTP服务,但我得用别人的FTP客户端上传我的文件.我怎么样自己用C#实现上传功能.暂时我的想法是能将文件传上服务器就可以.(C/S)感谢所有支持的朋友!
首先,从数据库读出来,然后把字段强转换成byte[],然后用MemoryStream进行读,剩下来的就是转换成相应的文件了。2、问题二:别人的FTP客户端,给你提供什么接口了吗?你什么都没说,我们怎么知道什么接口,也不好给你说啊!
http://dotnet.aspx.cc/ShowDetail.aspx?id=6381BD5F-51F3-4339-4239-1328564A1B2A
首先感谢你的提示.
我已经做到"然后把字段强转换成byte[],".
你先帮我看一下代码.大概这样的
Byte[] mybyte=new Byte[(int)mydatareader["cicun"]];
mybyte=(byte[])mydatareader["tupian"];"cicun"是文件大小 ,"tupian"是相应文件接下来按照你的提示创建了MemoryStream
首先我不知道创建的对不对,代码这样的
MemoryStream myMemoryStream=new MemoryStream(mybyte,0,(int)mydatareader["cicun"]);如果不对,请告诉我怎么用MemoryStream .如果对的话,也请你告诉我"剩下来的就是转换成相应的文件了",怎么做?怎么转换?真的就剩这么一步了.不是我偷懒不想自己做,而是能力不行.
再次感谢你了.
其实我这两个问题对于我来说,至少现在是为了解决一个问题.
简单的说就是客户端将任意文件(视频等等)传到服务器.
但不是B/S的方式.
对了,请大家别告诉我在C/S里嵌入一个浏览器......呵呵.
这里感谢所有留言的朋友了.
有机会还是要感谢你们的.
byte[] bPhoto=……//你从数据库中读出来的数据
if(bPhoto!=null)
{
FileStream fsStream=new FileStream(
yourFileName,
FileMode.Create,FileAccess.Write);//文件mode你可以按照自己的意愿改变 try
{
fsStream.Write(bPhoto,0,bPhoto.Length);
}
catch(IOException err)
{
MessageBox.Show(err.Message,
this.Text,
MessageBoxButtons.OK,
MessageBoxIcon.Error);
}
catch(Exception err)
{
MessageBox.Show(err.Message,
this.Text,
MessageBoxButtons.OK,
MessageBoxIcon.Error);
} // Close the stream
fsStream.Close();
}