public void UploadFile()
{
//本地电脑文件路径
FileStream stream = new FileStream(@"C:\Users\li\Desktop\tb.txt", FileMode.Open, FileAccess.Read);
int size = Convert.ToInt32(stream.Length);
Byte[] bytes = new Byte[size];
stream.Read(bytes, 0, size);
stream.Close();
FileStream fos = null;
//上传到远程服务器
string filePath = Server.MapPath("~/DataFile/");
if (!Directory.Exists(filePath))
{
Directory.CreateDirectory(filePath);
}
string fileName = "111.txt";
fos = new FileStream(filePath + fileName, FileMode.OpenOrCreate, FileAccess.ReadWrite);
fos.Write(bytes, 0, bytes.Length);
fos.Close();
}
34 个解决方案
#1
string filePath = Server.MapPath("~/DataFile/");
在上面这句打断点,看下filePath的值,并把它复制到资源管理器的地址栏中,看能不能打开,如果能打开再随便复制个文件进去,测试下是否权限不够.
在上面这句打断点,看下filePath的值,并把它复制到资源管理器的地址栏中,看能不能打开,如果能打开再随便复制个文件进去,测试下是否权限不够.
#2
filePath + fileName,在确认下这个 filePath和filename中间是否有"\\"分割,这种错误我常犯
#3
“已知路径的本地文件”?
这个是无根据的。c# 代码只能运行在服务器上,你难道能让这些运行在浏览器上吗?
这个是无根据的。c# 代码只能运行在服务器上,你难道能让这些运行在浏览器上吗?
#4
不论是你的“C:\Users\li\Des......”还是你的“~/DataF”,都是服务器上的。别把这个搞错了!
#5
那文件是怎么上传的? 就是说只能从服务器一个地方传到服务器另外一个地方了?
#6
你的代码,是跑在服务器上的。
文件是怎么上传的?这你学习 asp.net 服务器端接收上传文件的 demo 就可以了。浏览器负责文件上传,浏览器支持 html 的
文件是怎么上传的?这你学习 asp.net 服务器端接收上传文件的 demo 就可以了。浏览器负责文件上传,浏览器支持 html 的
<input type=file .....>这类标签,总之是有它的原则、规矩、出处、承载的客户端软件。你设计的程序不在这个范围内,所以白费了许多精力而并不在正确的设计范围内。
#7
本地测试都没事的。
就是传服务器上不行啊。
#8
这个就不用抠字眼儿了,重点是理解。
这个时候就根本无所谓“传”了,你的c#程序可以读取一个目录下的文件,然后找到当前网站的目录,把文件内容复制到这个目标目录下,这其实就只是文件拷贝。这个程序并没有任何“上传”的概念。一般所说的 web 文件上传这个概念是经过了 http 的 RFC1867协议等等规定,也就是说你总是能看到类似 enctype= multipart/form-data 这类 html 属性说明符号,等等,总之是调试的时候才知有没有技术。将来你区分标题党和实际开发人员的最关键地指标,不是靠文字理解,而是靠自己动手调试。
#9
查看是不是“上传”要拿出一个 http 调试器来调试 http 消息,诸如此类的具有行动力的做法。
假设你把本地文件拷贝说成是”服务器一个地方传到服务器另外一个地方“,你说这叫做”传“么?这其实在你来说也许叫做传,但是在我看来,要以动手测试为技术判断,而不是文字游戏来解释技术,这样就只能说这不叫做”传“。
假设你把本地文件拷贝说成是”服务器一个地方传到服务器另外一个地方“,你说这叫做”传“么?这其实在你来说也许叫做传,但是在我看来,要以动手测试为技术判断,而不是文字游戏来解释技术,这样就只能说这不叫做”传“。
#10
这个东西一定要弄,截图得到的BitMap直接传到服务器上,不用再浏览选择图片。
#11
是的,文件只能在文件系统中的一处复制(移动)到另一处
跨越文件系统就需要通过网络通讯机制来实现文件的迁移
跨越文件系统就需要通过网络通讯机制来实现文件的迁移
#12
当然也可以用移动存储器来搬运
#13
比如说,在 c# 代码中写
这可以一目了然地是知道,是”传“文件了。虽然还是自己传给自己,但是这就具有技术深度、真正适配的”传“这个字眼儿。
所以我就是这个意思,用字眼儿的方式不同,背后是动手进行技术测试的出发点和测试标准确实不同。
var web = new WebClient();
web.UploadFile("http://localhost:1234/mysite/xxxx.aspx", "c:\\abc\1.txt");
这可以一目了然地是知道,是”传“文件了。虽然还是自己传给自己,但是这就具有技术深度、真正适配的”传“这个字眼儿。
所以我就是这个意思,用字眼儿的方式不同,背后是动手进行技术测试的出发点和测试标准确实不同。
#14
看了是要放弃了,先把图片保存在本地电脑,然后模拟选择到FileUpload,行不行?
#15
了解了。
那换一种方法,能不能模拟选择文件到FileUpload ?
#16
不用鼠标浏览选择文件,用程序模拟选择给FileUpload, 这样行不行?
#17
web.UploadFile("http://localhost:1234/mysite/xxxx.aspx",
"c:\\abc\1.txt");
中 "c:\\abc\1.txt" 是字符串,你可以写成常量,也可以使用变量
中 "c:\\abc\1.txt" 是字符串,你可以写成常量,也可以使用变量
#18
没看到上传文件的代码,只是文件流保存本地磁盘的文件而已。C#上传文件可以通过WebClient、HttpWebRequest或者FTP方式上传,上传时读取本地路径for循环上传即可。
#19
前面的http://localhost:1234/mysite/xxxx.aspx 是做什么用的?
#20
啊啊,麻烦
#21
b/s系统没有办法,只能由用户通过file来选择。你本机当然么有问题,问题是客户使用时有没有c盘是一回事
#22
你这个需求只能用控件来实现,B/S是无法实现的,因为B/S没有提供这种接口。你可以在网上找下这种控件,我记得网上有的。
#23
什么控件我想要
#24
#25
搞清楚你贴的代码是干嘛的。
你的代码一些看上去是asp.net服务器端的,一些是winforms客户端的,你怎么混在一起了呢。
另外,相同的问题不要重复发,再发就要删除了。
你的代码一些看上去是asp.net服务器端的,一些是winforms客户端的,你怎么混在一起了呢。
另外,相同的问题不要重复发,再发就要删除了。
#26
你这个需求只能用控件来实现,B/S是无法实现的,因为B/S没有提供这种接口。你可以在网上找下这种控件,我记得网上有的。
本地电脑没问题,上传到远程服务器就不行, 实在找不到办法了啊。
public void UploadFile()
{
//本地电脑文件路径
FileStream stream = new FileStream(@"C:\Users\li\Desktop\tb.txt", FileMode.Open, FileAccess.Read);
int size = Convert.ToInt32(stream.Length);
Byte[] bytes = new Byte[size];
stream.Read(bytes, 0, size);
stream.Close();
FileStream fos = null;
//上传到远程服务器
string filePath = Server.MapPath("~/DataFile/");
if (!Directory.Exists(filePath))
{
Directory.CreateDirectory(filePath);
}
string fileName = "111.txt";
fos = new FileStream(filePath + fileName, FileMode.OpenOrCreate, FileAccess.ReadWrite);
fos.Write(bytes, 0, bytes.Length);
fos.Close();
}
什么控件我想要
输入自定义的文件路径:
添加文件后:
点击上传:
#27
你这个需求只能用控件来实现,B/S是无法实现的,因为B/S没有提供这种接口。你可以在网上找下这种控件,我记得网上有的。
本地电脑没问题,上传到远程服务器就不行, 实在找不到办法了啊。
public void UploadFile()
{
//本地电脑文件路径
FileStream stream = new FileStream(@"C:\Users\li\Desktop\tb.txt", FileMode.Open, FileAccess.Read);
int size = Convert.ToInt32(stream.Length);
Byte[] bytes = new Byte[size];
stream.Read(bytes, 0, size);
stream.Close();
FileStream fos = null;
//上传到远程服务器
string filePath = Server.MapPath("~/DataFile/");
if (!Directory.Exists(filePath))
{
Directory.CreateDirectory(filePath);
}
string fileName = "111.txt";
fos = new FileStream(filePath + fileName, FileMode.OpenOrCreate, FileAccess.ReadWrite);
fos.Write(bytes, 0, bytes.Length);
fos.Close();
}
什么控件我想要
Web小文件上传控件: http://www.cnblogs.com/xproer/archive/2010/10/24/1859895.html
此控件是基于标准HTTP协议实现的文件上传功能。优势是扩展性非常好,整合简单,支持批量上传文件和上传文件夹功能,上传前获取本地文件大小,适合各种简单WEB项目。
自定义上传文件路径
自定义选择文件路径:
多线程上传:
上传本地文件代码
使用步骤如下:
1.调用addFile函数添加本地文件,注意路径需要使用双斜框(\\)
2.调用postAll函数开始上传文件。
<div id="divUpload"></div>
<script type="text/javascript" language="javascript">
var fileMgr = new HttpUploaderMgr();
fileMgr.Config["PostUrl"] = "http://localhost:4854/asp.net/upload.aspx";
$(function ()
{
fileMgr.loadTo("divUpload");
$("#btnPost").click(function ()
{
fileMgr.postAll();
});
//上传本地文件
$("#btnPostLoc").click(function ()
{
fileMgr.app.addFile({ path: "D:\\QQ2013.exe" } );
});
});
</script>
单文件整合代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>单文件上传示例</title>
<link href="js/up2.css" type="text/css" rel="Stylesheet"/>
<script src="js/jquery-1.3.2.min.js" type="text/javascript"></script>
<script src="js/json2.min.js" type="text/javascript" charset="utf-8"></script>
<script src="js/up2-single.js" type="text/javascript" charset="utf-8"></script>
<script language="javascript" type="text/javascript">
var fileMgr = new HttpUploaderMgr();
fileMgr.event.postComplete = function (obj) { };
fileMgr.event.postError = function (obj) { };
fileMgr.event.postProcess = function (obj, speed, postedLength, percent, times) { };
$(document).ready(function ()
{
fileMgr.loadAuto();
//上传用户选择的文件
$("#btnSel").click(function ()
{
fileMgr.postAuto("upPnl"); //
});
//上传指定路径中的文件
$("#btnPostLoc").click(function ()
{
fileMgr.postLoc("D:\\360safe-inst.exe", "upPnl"); //
});
});
</script>
</head>
<body>
<p>此页面演示单个文件上传样式</p>
<div id="upPnl"></div>
<input id="btnSel" type="button" value="浏览" />
<input id="btnPostLoc" type="button" value="上传本地文件" />
</body>
</html>
示例下载:
exe安装包
cab安装包(x86)
cab安装包(x64)
开发文档
ASP示例
ASP.NET示例
JSP示例
PHP示例
#28
我截个图你看下是不是说的这种功能。 你这个需求只能用控件来实现,B/S是无法实现的,因为B/S没有提供这种接口。你可以在网上找下这种控件,我记得网上有的。
本地电脑没问题,上传到远程服务器就不行, 实在找不到办法了啊。
public void UploadFile()
{
//本地电脑文件路径
FileStream stream = new FileStream(@"C:\Users\li\Desktop\tb.txt", FileMode.Open, FileAccess.Read);
int size = Convert.ToInt32(stream.Length);
Byte[] bytes = new Byte[size];
stream.Read(bytes, 0, size);
stream.Close();
FileStream fos = null;
//上传到远程服务器
string filePath = Server.MapPath("~/DataFile/");
if (!Directory.Exists(filePath))
{
Directory.CreateDirectory(filePath);
}
string fileName = "111.txt";
fos = new FileStream(filePath + fileName, FileMode.OpenOrCreate, FileAccess.ReadWrite);
fos.Write(bytes, 0, bytes.Length);
fos.Close();
}
什么控件我想要
输入自定义的文件路径:
添加文件后:
点击上传:
差不多是这样,但是我是asp.net,不是winform,能实现吗?
#29
这类需求还是挻多的,在这里推荐一个 你这个需求只能用控件来实现,B/S是无法实现的,因为B/S没有提供这种接口。你可以在网上找下这种控件,我记得网上有的。
本地电脑没问题,上传到远程服务器就不行, 实在找不到办法了啊。
public void UploadFile()
{
//本地电脑文件路径
FileStream stream = new FileStream(@"C:\Users\li\Desktop\tb.txt", FileMode.Open, FileAccess.Read);
int size = Convert.ToInt32(stream.Length);
Byte[] bytes = new Byte[size];
stream.Read(bytes, 0, size);
stream.Close();
FileStream fos = null;
//上传到远程服务器
string filePath = Server.MapPath("~/DataFile/");
if (!Directory.Exists(filePath))
{
Directory.CreateDirectory(filePath);
}
string fileName = "111.txt";
fos = new FileStream(filePath + fileName, FileMode.OpenOrCreate, FileAccess.ReadWrite);
fos.Write(bytes, 0, bytes.Length);
fos.Close();
}
什么控件我想要
Web小文件上传控件: http://www.cnblogs.com/xproer/archive/2010/10/24/1859895.html
此控件是基于标准HTTP协议实现的文件上传功能。优势是扩展性非常好,整合简单,支持批量上传文件和上传文件夹功能,上传前获取本地文件大小,适合各种简单WEB项目。
自定义上传文件路径
自定义选择文件路径:
多线程上传:
上传本地文件代码
使用步骤如下:
1.调用addFile函数添加本地文件,注意路径需要使用双斜框(\\)
2.调用postAll函数开始上传文件。
<div id="divUpload"></div>
<script type="text/javascript" language="javascript">
var fileMgr = new HttpUploaderMgr();
fileMgr.Config["PostUrl"] = "http://localhost:4854/asp.net/upload.aspx";
$(function ()
{
fileMgr.loadTo("divUpload");
$("#btnPost").click(function ()
{
fileMgr.postAll();
});
//上传本地文件
$("#btnPostLoc").click(function ()
{
fileMgr.app.addFile({ path: "D:\\QQ2013.exe" } );
});
});
</script>
单文件整合代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>单文件上传示例</title>
<link href="js/up2.css" type="text/css" rel="Stylesheet"/>
<script src="js/jquery-1.3.2.min.js" type="text/javascript"></script>
<script src="js/json2.min.js" type="text/javascript" charset="utf-8"></script>
<script src="js/up2-single.js" type="text/javascript" charset="utf-8"></script>
<script language="javascript" type="text/javascript">
var fileMgr = new HttpUploaderMgr();
fileMgr.event.postComplete = function (obj) { };
fileMgr.event.postError = function (obj) { };
fileMgr.event.postProcess = function (obj, speed, postedLength, percent, times) { };
$(document).ready(function ()
{
fileMgr.loadAuto();
//上传用户选择的文件
$("#btnSel").click(function ()
{
fileMgr.postAuto("upPnl"); //
});
//上传指定路径中的文件
$("#btnPostLoc").click(function ()
{
fileMgr.postLoc("D:\\360safe-inst.exe", "upPnl"); //
});
});
</script>
</head>
<body>
<p>此页面演示单个文件上传样式</p>
<div id="upPnl"></div>
<input id="btnSel" type="button" value="浏览" />
<input id="btnPostLoc" type="button" value="上传本地文件" />
</body>
</html>
示例下载:
exe安装包
cab安装包(x86)
cab安装包(x64)
开发文档
ASP示例
ASP.NET示例
JSP示例
PHP示例
晚上我下载来试试,不行再说
#30
要不然你试试 在远程服务器目标位置变成共享文件夹 然后往共享文件夹复制
#31
把已知路径的本地文件(不通过浏览选择),上传到远程服务器
据我所知,只有FTP方式可以,但要使用这种方式,需要远程服务器支持FTP
据我所知,只有FTP方式可以,但要使用这种方式,需要远程服务器支持FTP
#32
cs bs都分不清....
#33
你是没分清什么是客户端,什么是服务器端吧
C:\Users\li\Desktop\tb.txt"是客户端路径
string filePath = Server.MapPath("~/DataFile/");是服务器端路径,都不在一台电脑上
服务器端最起码要先接收你客户端的完整文件流,然后才是保存操作的,
即 fos = new FileStream(filePath + fileName, FileMode.OpenOrCreate, FileAccess.ReadWrite);
fos.Write(bytes, 0, bytes.Length);
fos.Close();
但你前面代码的功能,好像不是接收服务器文件流的操作吧,更像是读服务器上本地文件的操作
C:\Users\li\Desktop\tb.txt"是客户端路径
string filePath = Server.MapPath("~/DataFile/");是服务器端路径,都不在一台电脑上
服务器端最起码要先接收你客户端的完整文件流,然后才是保存操作的,
即 fos = new FileStream(filePath + fileName, FileMode.OpenOrCreate, FileAccess.ReadWrite);
fos.Write(bytes, 0, bytes.Length);
fos.Close();
但你前面代码的功能,好像不是接收服务器文件流的操作吧,更像是读服务器上本地文件的操作
#34
改下 好像不是接收客户端文件流的操作吧,更像是读服务器上本地文件的操作
#1
string filePath = Server.MapPath("~/DataFile/");
在上面这句打断点,看下filePath的值,并把它复制到资源管理器的地址栏中,看能不能打开,如果能打开再随便复制个文件进去,测试下是否权限不够.
在上面这句打断点,看下filePath的值,并把它复制到资源管理器的地址栏中,看能不能打开,如果能打开再随便复制个文件进去,测试下是否权限不够.
#2
filePath + fileName,在确认下这个 filePath和filename中间是否有"\\"分割,这种错误我常犯
#3
“已知路径的本地文件”?
这个是无根据的。c# 代码只能运行在服务器上,你难道能让这些运行在浏览器上吗?
这个是无根据的。c# 代码只能运行在服务器上,你难道能让这些运行在浏览器上吗?
#4
不论是你的“C:\Users\li\Des......”还是你的“~/DataF”,都是服务器上的。别把这个搞错了!
#5
“已知路径的本地文件”?
这个是无根据的。c# 代码只能运行在服务器上,你难道能让这些运行在浏览器上吗?
那文件是怎么上传的? 就是说只能从服务器一个地方传到服务器另外一个地方了?
#6
你的代码,是跑在服务器上的。
文件是怎么上传的?这你学习 asp.net 服务器端接收上传文件的 demo 就可以了。浏览器负责文件上传,浏览器支持 html 的
文件是怎么上传的?这你学习 asp.net 服务器端接收上传文件的 demo 就可以了。浏览器负责文件上传,浏览器支持 html 的
<input type=file .....>这类标签,总之是有它的原则、规矩、出处、承载的客户端软件。你设计的程序不在这个范围内,所以白费了许多精力而并不在正确的设计范围内。
#7
filePath + fileName,在确认下这个 filePath和filename中间是否有"\\"分割,这种错误我常犯
本地测试都没事的。
就是传服务器上不行啊。
#8
就是说只能从服务器一个地方传到服务器另外一个地方了?
这个就不用抠字眼儿了,重点是理解。
这个时候就根本无所谓“传”了,你的c#程序可以读取一个目录下的文件,然后找到当前网站的目录,把文件内容复制到这个目标目录下,这其实就只是文件拷贝。这个程序并没有任何“上传”的概念。一般所说的 web 文件上传这个概念是经过了 http 的 RFC1867协议等等规定,也就是说你总是能看到类似 enctype= multipart/form-data 这类 html 属性说明符号,等等,总之是调试的时候才知有没有技术。将来你区分标题党和实际开发人员的最关键地指标,不是靠文字理解,而是靠自己动手调试。
#9
查看是不是“上传”要拿出一个 http 调试器来调试 http 消息,诸如此类的具有行动力的做法。
假设你把本地文件拷贝说成是”服务器一个地方传到服务器另外一个地方“,你说这叫做”传“么?这其实在你来说也许叫做传,但是在我看来,要以动手测试为技术判断,而不是文字游戏来解释技术,这样就只能说这不叫做”传“。
假设你把本地文件拷贝说成是”服务器一个地方传到服务器另外一个地方“,你说这叫做”传“么?这其实在你来说也许叫做传,但是在我看来,要以动手测试为技术判断,而不是文字游戏来解释技术,这样就只能说这不叫做”传“。
#10
查看是不是“上传”要拿出一个 http 调试器来调试 http 消息,诸如此类的具有行动力的做法。
假设你把本地文件拷贝说成是”服务器一个地方传到服务器另外一个地方“,你说这叫做”传“么?这其实在你来说也许叫做传,但是在我看来,要以动手测试为技术判断,而不是文字游戏来解释技术,这样就只能说这不叫做”传“。
这个东西一定要弄,截图得到的BitMap直接传到服务器上,不用再浏览选择图片。
#11
是的,文件只能在文件系统中的一处复制(移动)到另一处
跨越文件系统就需要通过网络通讯机制来实现文件的迁移
跨越文件系统就需要通过网络通讯机制来实现文件的迁移
#12
当然也可以用移动存储器来搬运
#13
比如说,在 c# 代码中写
这可以一目了然地是知道,是”传“文件了。虽然还是自己传给自己,但是这就具有技术深度、真正适配的”传“这个字眼儿。
所以我就是这个意思,用字眼儿的方式不同,背后是动手进行技术测试的出发点和测试标准确实不同。
var web = new WebClient();
web.UploadFile("http://localhost:1234/mysite/xxxx.aspx", "c:\\abc\1.txt");
这可以一目了然地是知道,是”传“文件了。虽然还是自己传给自己,但是这就具有技术深度、真正适配的”传“这个字眼儿。
所以我就是这个意思,用字眼儿的方式不同,背后是动手进行技术测试的出发点和测试标准确实不同。
#14
当然也可以用移动存储器来搬运
看了是要放弃了,先把图片保存在本地电脑,然后模拟选择到FileUpload,行不行?
#15
比如说,在 c# 代码中写var web = new WebClient();
web.UploadFile("http://localhost:1234/mysite/xxxx.aspx", "c:\\abc\1.txt");
这可以一目了然地是知道,是”传“文件了。虽然还是自己传给自己,但是这就具有技术深度、真正适配的”传“这个字眼儿。
所以我就是这个意思,用字眼儿的方式不同,背后是动手进行技术测试的出发点和测试标准确实不同。
了解了。
那换一种方法,能不能模拟选择文件到FileUpload ?
#16
比如说,在 c# 代码中写var web = new WebClient();
web.UploadFile("http://localhost:1234/mysite/xxxx.aspx", "c:\\abc\1.txt");
这可以一目了然地是知道,是”传“文件了。虽然还是自己传给自己,但是这就具有技术深度、真正适配的”传“这个字眼儿。
所以我就是这个意思,用字眼儿的方式不同,背后是动手进行技术测试的出发点和测试标准确实不同。
不用鼠标浏览选择文件,用程序模拟选择给FileUpload, 这样行不行?
#17
web.UploadFile("http://localhost:1234/mysite/xxxx.aspx",
"c:\\abc\1.txt");
中 "c:\\abc\1.txt" 是字符串,你可以写成常量,也可以使用变量
中 "c:\\abc\1.txt" 是字符串,你可以写成常量,也可以使用变量
#18
没看到上传文件的代码,只是文件流保存本地磁盘的文件而已。C#上传文件可以通过WebClient、HttpWebRequest或者FTP方式上传,上传时读取本地路径for循环上传即可。
#19
web.UploadFile("http://localhost:1234/mysite/xxxx.aspx", "c:\\abc\1.txt");
中 "c:\\abc\1.txt" 是字符串,你可以写成常量,也可以使用变量
前面的http://localhost:1234/mysite/xxxx.aspx 是做什么用的?
#20
没看到上传文件的代码,只是文件流保存本地磁盘的文件而已。C#上传文件可以通过WebClient、HttpWebRequest或者FTP方式上传,上传时读取本地路径for循环上传即可。
啊啊,麻烦
#21
b/s系统没有办法,只能由用户通过file来选择。你本机当然么有问题,问题是客户使用时有没有c盘是一回事
#22
本地电脑没问题,上传到远程服务器就不行, 实在找不到办法了啊。
public void UploadFile()
{
//本地电脑文件路径
FileStream stream = new FileStream(@"C:\Users\li\Desktop\tb.txt", FileMode.Open, FileAccess.Read);
int size = Convert.ToInt32(stream.Length);
Byte[] bytes = new Byte[size];
stream.Read(bytes, 0, size);
stream.Close();
FileStream fos = null;
//上传到远程服务器
string filePath = Server.MapPath("~/DataFile/");
if (!Directory.Exists(filePath))
{
Directory.CreateDirectory(filePath);
}
string fileName = "111.txt";
fos = new FileStream(filePath + fileName, FileMode.OpenOrCreate, FileAccess.ReadWrite);
fos.Write(bytes, 0, bytes.Length);
fos.Close();
}
#23
你这个需求只能用控件来实现,B/S是无法实现的,因为B/S没有提供这种接口。你可以在网上找下这种控件,我记得网上有的。
本地电脑没问题,上传到远程服务器就不行, 实在找不到办法了啊。
public void UploadFile()
{
//本地电脑文件路径
FileStream stream = new FileStream(@"C:\Users\li\Desktop\tb.txt", FileMode.Open, FileAccess.Read);
int size = Convert.ToInt32(stream.Length);
Byte[] bytes = new Byte[size];
stream.Read(bytes, 0, size);
stream.Close();
FileStream fos = null;
//上传到远程服务器
string filePath = Server.MapPath("~/DataFile/");
if (!Directory.Exists(filePath))
{
Directory.CreateDirectory(filePath);
}
string fileName = "111.txt";
fos = new FileStream(filePath + fileName, FileMode.OpenOrCreate, FileAccess.ReadWrite);
fos.Write(bytes, 0, bytes.Length);
fos.Close();
}
什么控件我想要
#24
#25
搞清楚你贴的代码是干嘛的。
你的代码一些看上去是asp.net服务器端的,一些是winforms客户端的,你怎么混在一起了呢。
另外,相同的问题不要重复发,再发就要删除了。
你的代码一些看上去是asp.net服务器端的,一些是winforms客户端的,你怎么混在一起了呢。
另外,相同的问题不要重复发,再发就要删除了。
#26
你这个需求只能用控件来实现,B/S是无法实现的,因为B/S没有提供这种接口。你可以在网上找下这种控件,我记得网上有的。
本地电脑没问题,上传到远程服务器就不行, 实在找不到办法了啊。
public void UploadFile()
{
//本地电脑文件路径
FileStream stream = new FileStream(@"C:\Users\li\Desktop\tb.txt", FileMode.Open, FileAccess.Read);
int size = Convert.ToInt32(stream.Length);
Byte[] bytes = new Byte[size];
stream.Read(bytes, 0, size);
stream.Close();
FileStream fos = null;
//上传到远程服务器
string filePath = Server.MapPath("~/DataFile/");
if (!Directory.Exists(filePath))
{
Directory.CreateDirectory(filePath);
}
string fileName = "111.txt";
fos = new FileStream(filePath + fileName, FileMode.OpenOrCreate, FileAccess.ReadWrite);
fos.Write(bytes, 0, bytes.Length);
fos.Close();
}
什么控件我想要
输入自定义的文件路径:
添加文件后:
点击上传:
#27
你这个需求只能用控件来实现,B/S是无法实现的,因为B/S没有提供这种接口。你可以在网上找下这种控件,我记得网上有的。
本地电脑没问题,上传到远程服务器就不行, 实在找不到办法了啊。
public void UploadFile()
{
//本地电脑文件路径
FileStream stream = new FileStream(@"C:\Users\li\Desktop\tb.txt", FileMode.Open, FileAccess.Read);
int size = Convert.ToInt32(stream.Length);
Byte[] bytes = new Byte[size];
stream.Read(bytes, 0, size);
stream.Close();
FileStream fos = null;
//上传到远程服务器
string filePath = Server.MapPath("~/DataFile/");
if (!Directory.Exists(filePath))
{
Directory.CreateDirectory(filePath);
}
string fileName = "111.txt";
fos = new FileStream(filePath + fileName, FileMode.OpenOrCreate, FileAccess.ReadWrite);
fos.Write(bytes, 0, bytes.Length);
fos.Close();
}
什么控件我想要
Web小文件上传控件: http://www.cnblogs.com/xproer/archive/2010/10/24/1859895.html
此控件是基于标准HTTP协议实现的文件上传功能。优势是扩展性非常好,整合简单,支持批量上传文件和上传文件夹功能,上传前获取本地文件大小,适合各种简单WEB项目。
自定义上传文件路径
自定义选择文件路径:
多线程上传:
上传本地文件代码
使用步骤如下:
1.调用addFile函数添加本地文件,注意路径需要使用双斜框(\\)
2.调用postAll函数开始上传文件。
<div id="divUpload"></div>
<script type="text/javascript" language="javascript">
var fileMgr = new HttpUploaderMgr();
fileMgr.Config["PostUrl"] = "http://localhost:4854/asp.net/upload.aspx";
$(function ()
{
fileMgr.loadTo("divUpload");
$("#btnPost").click(function ()
{
fileMgr.postAll();
});
//上传本地文件
$("#btnPostLoc").click(function ()
{
fileMgr.app.addFile({ path: "D:\\QQ2013.exe" } );
});
});
</script>
单文件整合代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>单文件上传示例</title>
<link href="js/up2.css" type="text/css" rel="Stylesheet"/>
<script src="js/jquery-1.3.2.min.js" type="text/javascript"></script>
<script src="js/json2.min.js" type="text/javascript" charset="utf-8"></script>
<script src="js/up2-single.js" type="text/javascript" charset="utf-8"></script>
<script language="javascript" type="text/javascript">
var fileMgr = new HttpUploaderMgr();
fileMgr.event.postComplete = function (obj) { };
fileMgr.event.postError = function (obj) { };
fileMgr.event.postProcess = function (obj, speed, postedLength, percent, times) { };
$(document).ready(function ()
{
fileMgr.loadAuto();
//上传用户选择的文件
$("#btnSel").click(function ()
{
fileMgr.postAuto("upPnl"); //
});
//上传指定路径中的文件
$("#btnPostLoc").click(function ()
{
fileMgr.postLoc("D:\\360safe-inst.exe", "upPnl"); //
});
});
</script>
</head>
<body>
<p>此页面演示单个文件上传样式</p>
<div id="upPnl"></div>
<input id="btnSel" type="button" value="浏览" />
<input id="btnPostLoc" type="button" value="上传本地文件" />
</body>
</html>
示例下载:
exe安装包
cab安装包(x86)
cab安装包(x64)
开发文档
ASP示例
ASP.NET示例
JSP示例
PHP示例
#28
我截个图你看下是不是说的这种功能。 你这个需求只能用控件来实现,B/S是无法实现的,因为B/S没有提供这种接口。你可以在网上找下这种控件,我记得网上有的。
本地电脑没问题,上传到远程服务器就不行, 实在找不到办法了啊。
public void UploadFile()
{
//本地电脑文件路径
FileStream stream = new FileStream(@"C:\Users\li\Desktop\tb.txt", FileMode.Open, FileAccess.Read);
int size = Convert.ToInt32(stream.Length);
Byte[] bytes = new Byte[size];
stream.Read(bytes, 0, size);
stream.Close();
FileStream fos = null;
//上传到远程服务器
string filePath = Server.MapPath("~/DataFile/");
if (!Directory.Exists(filePath))
{
Directory.CreateDirectory(filePath);
}
string fileName = "111.txt";
fos = new FileStream(filePath + fileName, FileMode.OpenOrCreate, FileAccess.ReadWrite);
fos.Write(bytes, 0, bytes.Length);
fos.Close();
}
什么控件我想要
输入自定义的文件路径:
添加文件后:
点击上传:
差不多是这样,但是我是asp.net,不是winform,能实现吗?
#29
这类需求还是挻多的,在这里推荐一个 你这个需求只能用控件来实现,B/S是无法实现的,因为B/S没有提供这种接口。你可以在网上找下这种控件,我记得网上有的。
本地电脑没问题,上传到远程服务器就不行, 实在找不到办法了啊。
public void UploadFile()
{
//本地电脑文件路径
FileStream stream = new FileStream(@"C:\Users\li\Desktop\tb.txt", FileMode.Open, FileAccess.Read);
int size = Convert.ToInt32(stream.Length);
Byte[] bytes = new Byte[size];
stream.Read(bytes, 0, size);
stream.Close();
FileStream fos = null;
//上传到远程服务器
string filePath = Server.MapPath("~/DataFile/");
if (!Directory.Exists(filePath))
{
Directory.CreateDirectory(filePath);
}
string fileName = "111.txt";
fos = new FileStream(filePath + fileName, FileMode.OpenOrCreate, FileAccess.ReadWrite);
fos.Write(bytes, 0, bytes.Length);
fos.Close();
}
什么控件我想要
Web小文件上传控件: http://www.cnblogs.com/xproer/archive/2010/10/24/1859895.html
此控件是基于标准HTTP协议实现的文件上传功能。优势是扩展性非常好,整合简单,支持批量上传文件和上传文件夹功能,上传前获取本地文件大小,适合各种简单WEB项目。
自定义上传文件路径
自定义选择文件路径:
多线程上传:
上传本地文件代码
使用步骤如下:
1.调用addFile函数添加本地文件,注意路径需要使用双斜框(\\)
2.调用postAll函数开始上传文件。
<div id="divUpload"></div>
<script type="text/javascript" language="javascript">
var fileMgr = new HttpUploaderMgr();
fileMgr.Config["PostUrl"] = "http://localhost:4854/asp.net/upload.aspx";
$(function ()
{
fileMgr.loadTo("divUpload");
$("#btnPost").click(function ()
{
fileMgr.postAll();
});
//上传本地文件
$("#btnPostLoc").click(function ()
{
fileMgr.app.addFile({ path: "D:\\QQ2013.exe" } );
});
});
</script>
单文件整合代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>单文件上传示例</title>
<link href="js/up2.css" type="text/css" rel="Stylesheet"/>
<script src="js/jquery-1.3.2.min.js" type="text/javascript"></script>
<script src="js/json2.min.js" type="text/javascript" charset="utf-8"></script>
<script src="js/up2-single.js" type="text/javascript" charset="utf-8"></script>
<script language="javascript" type="text/javascript">
var fileMgr = new HttpUploaderMgr();
fileMgr.event.postComplete = function (obj) { };
fileMgr.event.postError = function (obj) { };
fileMgr.event.postProcess = function (obj, speed, postedLength, percent, times) { };
$(document).ready(function ()
{
fileMgr.loadAuto();
//上传用户选择的文件
$("#btnSel").click(function ()
{
fileMgr.postAuto("upPnl"); //
});
//上传指定路径中的文件
$("#btnPostLoc").click(function ()
{
fileMgr.postLoc("D:\\360safe-inst.exe", "upPnl"); //
});
});
</script>
</head>
<body>
<p>此页面演示单个文件上传样式</p>
<div id="upPnl"></div>
<input id="btnSel" type="button" value="浏览" />
<input id="btnPostLoc" type="button" value="上传本地文件" />
</body>
</html>
示例下载:
exe安装包
cab安装包(x86)
cab安装包(x64)
开发文档
ASP示例
ASP.NET示例
JSP示例
PHP示例
晚上我下载来试试,不行再说
#30
要不然你试试 在远程服务器目标位置变成共享文件夹 然后往共享文件夹复制
#31
把已知路径的本地文件(不通过浏览选择),上传到远程服务器
据我所知,只有FTP方式可以,但要使用这种方式,需要远程服务器支持FTP
据我所知,只有FTP方式可以,但要使用这种方式,需要远程服务器支持FTP
#32
cs bs都分不清....
#33
你是没分清什么是客户端,什么是服务器端吧
C:\Users\li\Desktop\tb.txt"是客户端路径
string filePath = Server.MapPath("~/DataFile/");是服务器端路径,都不在一台电脑上
服务器端最起码要先接收你客户端的完整文件流,然后才是保存操作的,
即 fos = new FileStream(filePath + fileName, FileMode.OpenOrCreate, FileAccess.ReadWrite);
fos.Write(bytes, 0, bytes.Length);
fos.Close();
但你前面代码的功能,好像不是接收服务器文件流的操作吧,更像是读服务器上本地文件的操作
C:\Users\li\Desktop\tb.txt"是客户端路径
string filePath = Server.MapPath("~/DataFile/");是服务器端路径,都不在一台电脑上
服务器端最起码要先接收你客户端的完整文件流,然后才是保存操作的,
即 fos = new FileStream(filePath + fileName, FileMode.OpenOrCreate, FileAccess.ReadWrite);
fos.Write(bytes, 0, bytes.Length);
fos.Close();
但你前面代码的功能,好像不是接收服务器文件流的操作吧,更像是读服务器上本地文件的操作
#34
改下 好像不是接收客户端文件流的操作吧,更像是读服务器上本地文件的操作