文件上传
A. 文件上传
上传文件时首先通过上传控件找到所需上传的文件,然后获取文件的大小,最后以流的形式写入数据库,具体代码为:
private void Btn_OK_Click(object sender, System.EventArgs e)
{
string name=name_TextBox.Text;
//接收上传文件
Stream fileStream=File1.PostedFile.InputStream;
//获取上传文件字节的大小
int length=File1.PostedFile.ContentLength;
byte[] wordData=new byte[length];
//从流中读取字节并写入wordData
int n=fileStream.Read(wordData,0,length);
//获取当前时间
DateTime time=DateTime.Now;
//连接数据库
SqlConnection conn=new SqlConnection();
conn.ConnectionString="workstation id=TIANCHUNZHU;packet size=4096;integrated security=SSPI;data source=TIANCHUNZHU;persist security info=False;initial catalog=test";
SqlCommand cmd=new SqlCommand();
cmd.Connection=conn;
cmd.CommandText="INSERT INTO word (fileName,postTime,fileContent) values (@fileName,@postTime,@fileContent)";
SqlParameter nameParam=new SqlParameter("@fileName",System.Data.SqlDbType.VarChar,50);
nameParam.Value=name;
cmd.Parameters.Add(nameParam);
SqlParameter timeParam=new SqlParameter("@postTime",System.Data.SqlDbType.DateTime,8);
timeParam.Value=time;
cmd.Parameters.Add(timeParam);
//添加word文件
SqlParameter contentParam=new SqlParameter("@fileContent",System.Data.SqlDbType.Image); ①//见本段最后注解
contentParam.Value=wordData;
cmd.Parameters.Add(contentParam);
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
}
注①:此处由于是Image类型文件,事先可能无法预测文件的大小,因此可不必指定size参数。如果希望控制上传文件的大小则可以输入size参数。如指定1000,则上传时最大可以上传1k的word文档。
(3) 从数据库中读取数据并恢复为word文件
读取数据时先将数据从数据库中读入缓冲区,然后再从缓冲区写入最终文件。因此首先要开辟一个缓冲区并设定它的大小,每当缓冲区读满时就要将缓冲区内的数据写入文件,以清空缓冲区并继续向缓冲区读数据,直到最后一次将缓冲区内剩余的数据全部写入文件,新的word文档即可生成。
由于这一部分用到了字节流的输入输出操作,因此要引用System.IO命名空间
下面是关于这一部分的完整代码:
private void Btn_get_Click(object sender, System.EventArgs e)
{
//连接数据库
SqlConnection conn=new SqlConnection();
conn.ConnectionString="workstation id=TIANCHUNZHU;packet size=4096;integrated security=SSPI;data source=TIANCHUNZHU;persist security info=False;initial catalog=test";
SqlCommand cmd=new SqlCommand();
cmd.Connection=conn;
//根据TextBox中指定的文件名进行查找读取
cmd.CommandText="select fileContent from word where fileName='"+name_TextBox.Text.ToString()+"'";
FileStream fs;
BinaryWriter bw;
//设定允许读取到缓冲区的最大长度
int buffersize=100;
//要将字节流读入的缓冲区
byte[] outbyte=new byte[buffersize];
//用于记录已经读取的字节数
long reval;
//字段中的索引,从这里开始读取操作
long startIndex;
//FileStream对象将封装的文件的相对路径或绝对路径
string filePath=@"C:\wordData.doc";
conn.Open();
SqlDataReader reader;
reader=cmd.ExecuteReader();
while (reader.Read())
{
fs=new FileStream(filePath,FileMode.OpenOrCreate,FileAccess.Write);
bw=new BinaryWriter(fs);
startIndex=0;
//将字节流读入outbyte缓冲区中并返回读取的字节数
reval=reader.GetBytes(0,startIndex,outbyte,0,buffersize);
//当读取的字节流达到缓冲区允许的最大长度时要卸载缓冲区内的数据并将数据写入文件
while (reval==buffersize)
{
bw.Write(outbyte);
bw.Flush();
//重新设定开始读取的位置,并继续读取和写数据
startIndex+=buffersize;
reval=reader.GetBytes(0,startIndex,outbyte,0,buffersize);
}
//将缓冲区内最后剩余的数据写入文件
bw.Write(outbyte,0,(int)reval-1);
bw.Flush();
bw.Close();
fs.Close();
}
reader.Close();
conn.Close();
}
此时将按照filePath中指定的路径和名称重新生成word文档。可以在filePath中根据具体情况指定生成的word文档的名称和路径。
B. 上传文件是什么意思如何上传
就是将本地计算机上的文件通过internet传送到internet服务器上的过程。
你首先要在网上找一个支持文件上传的服务器,比如网络U盘、免费空间、校友录相册等等。然后根据服务器的不同要求,用不同的方法上传文件到服务器。
C. 电脑怎样上传图片文件
一,把数码相机用USB连接电脑,然后在我的电脑中的可移动磁盘中找到相机的文件夹,把里面的照片复制或剪切,然后粘贴在你想放置的文档里.
二,在WORD中打开你的文档中的文字,然后想在插入图片的部位按鼠标,再点插入,点图片,在文件夹中找出要插入的照片点确定就行了.
您可以用两种方法上传照片:单张上传、打包批量上传。
(1)登录相册并点击主菜单中的"我的相册"进入您的相册列表。
(2)点击列表右上角的"上传照片"按钮,或者从相册列表中选择进入某一个相册后点击右上角的"上传照片"按钮。
(3)选择好照片或压缩文件,输入照片名称和照片描述等,点击"上传"就可以将照片直接上传,上传的压缩文件将由系统在后台解压缩成单张照片。
注意:(1)网络相册一般支持您上传gif、jpg、格式的图片;
(2)您上传的照片没有尺寸限制;
(3)单张照片上传时,每张照片必须小于1兆,如果是QQ会员,可以上传不限制大小的照片;
(4)打包批量上传照片时,目前公支持上传zip格式的压缩文件,每个压缩文件必须小于5兆,压缩文件里的每张照片不能大于1兆。
D. 怎样上传文件到网站
你说的很模糊,不知道你是上传文件到自己的网站,还是别人的网站
1、如果你上传到自己的网站的话,有两种情况:(1)如果是网页或者资源可以通过ftp这个软件(2)如果是文章之类的,一般的网站都有自己的后台系统
2、如果是传到别人的网站,一般的网站如果允许你上传的话都有专门的通道去上传的。
E. 前端上传文件的几种方法
1.表单上传
最传统的图片上传方式是form表单上传,使用form表单的input[type=”file”]控件,打开系统的文件选择对话框,从而达到选择文件并上传的目的。
form表单上传
表单上传需要注意以下几点:
(1).提供form表单,method必须是post。
(2).form表单的enctype必须是multipart/form-data。
javascript学习交流群:453833554
enctype 属性规定在发送到服务器之前应该如何对表单数据进行编码。默认地,表单数据会编码为 "application/x-www-form-urlencoded"。就是说,在发送到服务器之前,所有字符都会进行编码。HTML表单如何打包数据文件是由enctype这个属性决定的。enctype有以下几种取值:
application/x-www-form-urlencoded:在发送前编码所有字符(默认)(空格被编码为’+’,特殊字符被编码为ASCII十六进制字符)。
multipart/form-data:不对字符编码。在使用包含文件上传控件的表单时,必须使用该值。
text/plain:空格转换为 “+” 加号,但不对特殊字符编码。
默认enctype=application/x-www-form-urlencoded,所以表单的内容会按URL规则编码,然后根据表单的提交方法:
method=’get’ 编码后的表单内容附加在请求连接后,
method=’post’ 编码后的表单内容作为post请求的正文内容。
F. 怎么上传文件
方法一.
下个FTP软件,
打开FTP,点击菜单栏下面的站点管理器,把你的域名,密码填好后,点连接
左边是你本地文件,点下拉按扭,找到你本地定义的站点,将其直接拖动到右边它就会自动上传了
方法二.
是所谓的 WEB 上传方式,再就是 FTP 上传了。前者相对后者较好掌握,而且各网站也不尽相同,上传效率也不高; FTP 上传是非常常用的一种上传方式,包括好多收费的空间的上传方式也是 FTP 上传,它效率高,而且用一些软件上传的话,还能支持断点续传,这对上传一些较大的文件是非常有好处的 —— 不至于因为网速不稳定而造成白白浪费时间和网费。下面就讲一下 FTP 上传的过程。
象操作本地文件夹一样简单
以本站为例,讲一下 FTP 上传的过程:上传前先要弄清楚三个问题 —— 主机地址、用户名和密码,只要知道这三项,上传就会变得非常简单。首先打开 IE ,在地址栏里输入 “ftp://ftp.nease.net” ,注意双斜线前是 “ftp” ,然后稍等片刻,会弹出一个对话框,这个对话框就是要你输入用户名和密码的,在用户名栏中输入 “您在网易个人空间注册的用户名”, 在密码栏中输入 “**********” ,然后回车,等着吧,奇迹出现了:浏览器窗口好像是变成了一个文件夹窗口,其实,它现在就是一个文件夹窗口,你可以 、 cut 、 paste ,也可以直接拖拽,把你要上传的文件真接拖拽到这个窗口里,你甚到可以直接在这个窗口里像操作其它文件一样进行一下修改,怎么样,是不很简单!
方法三.
CuteFTP 就是一种很好的支持断点续传的软件,下面就讲述一下它的用法。
目前最新的是 CuteFTP4.2 ,就以它为例讲一下。首先打开 CuteFTP ,打开主窗口的同时会弹出一个浮动的窗口,在这个窗口右侧是需要往里填的几个文本框,从上到下依次为:名字、主机地址、用户名、密码和端口。在名字那项随便取个名字,这跟上传的内容无关,仅仅是为了管理用的,下次上传的时候你直接在左侧双击这个名字就行了,不用再把所有的项重新填一次。仍以本站为例:在主机栏里填入 “ftp.nease.net” ,在用户名那栏里填入 “您在网易个人空间注册的用户名” ,在密码那栏里填入 “**********” ,端口栏里一般不用管,用默认的 “ 21” 就行了,然后点下面的 “Connect” 按钮,等着吧,如果正常一会就会出现管理窗口了,下面的操作可以通过拖拽来实现,左面的窗口是本地机的文件,右面就是你要上传的主机里的文件了。注意:当出现源文件和目标文件同名时会弹出一个窗口,有三个按钮 ——“resume( 续传 )” 、 “overwrite( 覆盖 )” 和 “rename( 重命名 )” ,选相应按钮就行了。后面还有一个 all 复选框,选中后,再出现同种情况就不会再弹出了,而是根据这次的选择来处理。
怎么样!很简单吧!再说一次:不管用什么方法上传,你要知道三件事:主机地址、用户名和密码。
G. 怎么上传文件
在互联网上要想上传文件,你可以用多种方法,比如说你可以用QQ来上传文件,也可以用FTP服务器来上传。
H. 上传文件指的是什么上传什么样的文件
把电脑里的东西上传给新浪,比如图片、歌曲、文章等等。
I. 电脑如何上传文件
是要把文件从电脑传到哪儿呢?如果是电脑其它盘符,复制粘贴就行,如果是传到U盘之类的,也是一样,如果是手机,可以蓝牙,可以USB数据线,还可以同QQ微信等这些应用,不同使用场景方法不一样
J. 如何上传文件
FTP(File Transfer Protocol)是 Internet 上用来传送文件的协议(文件传输协议)。它是为了我们能够在 Internet 上互相传送文件而制定的的文件传送标准,规定了 Internet 上文件如何传送。也就是说,通过 FTP 协议,我们就可以跟 Internet 上的 FTP 服务器进行文件的上传(Upload)或下载(Download)等动作。
和其他 Internet 应用一样,FTP 也是依赖于客户程序/服务器关系的概念。在 Internet 上有一些网站,它们依照 FTP 协议提供服务,让网友们进行文件的存取,这些网站就是 FTP 服务器。网上的用户要连上 FTP 服务器,就要用到 FPT 的客户端软件,通常 Windows 都有“ftp”命令,这实际就是一个命令行的 FTP 客户程序,另外常用的 FTP 客户程序还有 CuteFTP、Ws_FTP、FTP Explorer等。
要连上 FTP 服务器(即“登陆”),必须要有该 FTP 服务器的帐号。如果是该服务器主机的注册客户,你将会有一个 FTP 登陆帐号和密码,就凭这个帐号密码连上该服务器。但 Internet 上有很大一部分 FTP 服务器被称为“匿名”(Anonymous)FTP 服务器。这类服务器的目的是向公众提供文件拷贝服务,因此,不要求用户事先在该服务器进行登记注册。
Anonymous(匿名文件传输)能够使用户与远程主机建立连接并以匿名身份从远程主机上拷贝文件,而不必是该远程主机的注册用户。用户使用特殊的用户名“anonymous”和“guest”就可有限制地访问远程主机上公开的文件。现在许多系统要求用户将Emai1地址作为口令,以便更好地对访问进行跟综。出于安全的目的,大部分匿名FTP主机一般只允许远程用户下载(download)文件,而不允许上载(upload)文件。也就是说,用户只能从匿名FTP主机拷贝需要的文件而不能把文件拷贝到匿名FTP主机。另外,匿名FTP主机还采用了其他一些保护措施以保护自己的文件不至于被用户修改和删除,并防止计算机病毒的侵入。在具有图形用户界面的 WorldWild Web环境于1995年开始普及以前,匿名FTP一直是Internet上获取信息资源的最主要方式,在Internet成千上万的匿名PTP主机中存储着无以计数的文件,这些文件包含了各种各样的信息,数据和软件。 人们只要知道特定信息资源的主机地址, 就可以用匿名FTP登录获取所需的信息资料。虽然目前使用WWW环境已取代匿名FTP成为最主要的信息查询方式,但是匿名FTP仍是 Internet上传输分发软件的一种基本方法。
全有网推荐两款比较实用方便的FTP工具:Cutftp【CuteFTP Pro V7.1 Build 06.07.2005.1 官方简体中文包下载地址:http://www4.skycn.com/soft/15789.html】FlashFtp【FlashFXP V3.2.0.1080 汉化版(烈火版)下载地址:http://www4.skycn.com/soft/22415.html】