如何实现客户端下载服务器文件到任意位置C#

问题描述

如何实现客户端下载服务器文件到任意位置C#

解决方案

解决方案二:
具体点?到底什么需求?
解决方案三:
b/s上是做不到的,除非你到用ACTIVEX,当然,.NET的伪ACTIVEX也可以做到,不过部署很麻烦。
解决方案四:
newWebClient().DownloadFile("服务器文件地址","本地任意路径");

解决方案五:

解决方案六:
位置是代码里写死的还是可以选择的?
解决方案七:
直接下载到本地不弹出保存提示框的
解决方案八:
类似qq在线接收文件之后不选择保存路径,自动保存到用户电脑上的这样的功能,用webservice可以实现吗
解决方案九:
WebService项目中的Web.config配置代码<appSettings><addkey="UploadFileFolder"value="/Uploads/TestUpload/"/></appSettings>WebService项目中的ImageService.asmx代码///<summary>///Webservice中的下载文件处理函数///</summary>///<paramname="filePath">文件路径</param>///<returns>返回文件流</returns>[WebMethod(Description="下载服务器站点文件,传递文件相对路径")]publicbyte[]DownloadFile(stringstrFilePath){FileStreamfs=null;stringCurrentUploadFolderPath=Server.MapPath(ConfigurationManager.AppSettings["UploadFileFolder"]);stringCurrentUploadFilePath=CurrentUploadFolderPath+strFilePath;if(File.Exists(CurrentUploadFilePath)){try{///打开现有文件以进行读取。fs=File.OpenRead(CurrentUploadFilePath);intb1;System.IO.MemoryStreamtempStream=newSystem.IO.MemoryStream();while((b1=fs.ReadByte())!=-1){tempStream.WriteByte(((byte)b1));}returntempStream.ToArray();}catch(Exceptionex){returnnewbyte[0];}finally{fs.Close();}}else{returnnewbyte[0];}}Winform项目中的窗体下载按钮代码privatevoidbtnDownload_Click(objectsender,EventArgse){stringCurrentServiceFilePath=this.txtServiceFile.Text.Trim();stringCurrentDownloadFolderPath=this.txtDownloadFolder.Text.Trim();if(CurrentServiceFilePath==""||CurrentDownloadFolderPath==""){MessageBox.Show(DownloadImage(CurrentServiceFilePath,CurrentDownloadFolderPath));}elseif(CurrentServiceFilePath==""){MessageBox.Show("请填写要下载的服务器文件路径和选择本地保存目录");}elseif(CurrentDownloadFolderPath==""){MessageBox.Show("请填写要下载的服务器文件路径和选择本地保存目录");}}Winform项目中的窗体下载按钮调用函数///<summary>///通过WebService下载文件///</summary>///<paramname="ServiceFilePath">服务器图片路径</param>///<paramname="DownloadFolderPath">本地图片路径</param>privatestringDownloadImage(stringServiceFilePath,stringDownloadFolderPath){try{stringDownloadFileName="";if(ServiceFilePath.Contains("/")){DownloadFileName=ServiceFilePath.Substring(ServiceFilePath.LastIndexOf("/"));}else{DownloadFileName=ServiceFilePath;}stringDownloadFilePath=DownloadFolderPath+"\"+DownloadFileName;localhost.ImageServicemyImageService=newlocalhost.ImageService();byte[]bytes=myImageService.DownloadFile(ServiceFilePath);if(bytes!=null){if(!Directory.Exists(DownloadFolderPath)){Directory.CreateDirectory(DownloadFolderPath);}if(!File.Exists(DownloadFilePath)){File.Create(DownloadFilePath).Dispose();}//如果不存在完整的上传路径就创建FileInfodownloadInfo=newFileInfo(DownloadFilePath);if(downloadInfo.IsReadOnly){downloadInfo.IsReadOnly=false;}//定义并实例化一个内存流,以存放提交上来的字节数组。MemoryStreamms=newMemoryStream(bytes);//定义实际文件对象,保存上载的文件。FileStreamfs=newFileStream(DownloadFilePath,FileMode.Create);///把内内存里的数据写入物理文件ms.WriteTo(fs);fs.Flush();ms.Flush();ms.Close();fs.Close();fs=null;ms=null;}return"下载成功";}catch(Exceptionex){return"下载失败"+ex.Message;}}

时间: 2024-11-05 23:31:23

如何实现客户端下载服务器文件到任意位置C#的相关文章

ASP.net 如何下载服务器文件到本地

问题描述 服务器上有个文件夹里面有txt和html两种格式,为该文件夹建立了虚拟目录.datagrid中有个linkbutton来下载服务器文件到本地(比如点击该按钮后,提示打开或保存)求各位指点. 解决方案 解决方案二:参考:解决方案三:可能我描述不清楚已知URL怎么在客户端打开该url文件呢?引用1楼insus的回复: 参考: 解决方案四:a标签href属性=url,点击a就可以下载解决方案五:把文件的地址用一个a标签啊或者啥的设置下然后用户访问这个地址或者点击某个标签会出现下载栏解决方案六

JSP下载服务器文件的方法_JSP编程

本文实例讲述了JSP下载服务器文件的方法.分享给大家供大家参考,具体如下: <%@page import="java.io.FileInputStream"%> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <%@page

利用ADODB.Stream使用浏览器下载服务器文件

ado|stream|服务器|浏览器|下载 download.asp?file=相对路径的文件就可以把这个文件下载下来 <%  2  3 call downloadFile(replace(replace(Request("file"),"\",""),"/",""))  4  5 Function downloadFile(strFile)  6 ' make sure you are on the

java 下载服务器文件到本地 中文无法识别

问题描述 下面是我的代码,如果url当中没有中文则可以下载,如果有则出错.InputStream in = con.getInputStream();这一句出错.这个是编码问题,我上网找了很多资料,但是还是不会改,对编码的原理还不是很了解.哪位帮忙改改,谢谢!import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.ne

WebService(C#)如何获取客户端路径的文件?

问题描述 前端用的是javascript,后台用的是.NET版本的WebServcie,现在遇到如下问题:(1)从客户端需要上传图片,但是Webservice不认,只认服务器上的地址,客户端的地址怎么识别?(2)需要从Excel里面获取信息,WebService还是不认客户端的excel文件.WebService(C#)如何获取客户端路径的文件? 解决方案 本帖最后由 jesterABC 于 2015-03-11 11:23:45 编辑解决方案二:当然了你需要先把文件上传到服务器,然后服务器读本

百度网盘如何直接下载大文件

  百度云盘大文件直接下载教程(免客户端下载大文件)最新简单方法: 1.你的浏览器一定是Chrome浏览器或者基于Chromium内核的浏览器如360浏览器极速版. 2.前往网页百度云资源页面,如图 3.如果正常点击下载,那么肯定会提示"你下载的文件过大,需要使用百度云管家". 那么重点来了! 在你的chrome浏览器地址栏里,在百度云页面网址前加上"https://"前缀,这是一个安全协议,百度云无法跳转.然后直接点击下载,就不会提示下载百度云了. 此前办法如下:

使用函数计算来打包下载OSS文件

需求 打包下载OSS上存储的多个文件 方案 使用函数计算先把多个文件压缩成一个zip,存储到OSS上面,返回zip文件的地址,客户端下载此文件. 函数代码下载zip-oss.zip 实现细节 函数运行环境的磁盘空间是有限的,采用流式下载和上传的方式,只在内存中缓存少量的数据. 为了加快速度,一边生成zip文件时一边上传到OSS 上传zip文件到OSS时,利用OSS分片上传的特性,多线程并发上传 实验 实验数据 # 文件数 压缩前总大小 压缩后总大小 执行时间 1 7 1.2MB 1.16MB 0

WebClient下载doc文件问题

问题描述 服务端IIS上的Test目录下有一个word文档(很小就13K)客户端下载这个文件使用byte[]buffer1=newbyte[200*1024];WebClientclient=newWebClient();Streamstream=client.OpenRead(@"http://192.168.1.100:805/Test/a.doc");stream.Read(buffer1,0,buffer1.Length);然后将word文档复制到本地,使用FileStream

win10系统edge浏览器下载的文件或程序在哪

1.打开Edge浏览器,如图红框所示我们点击"三"图标打开进入: 2.然后我们点击"下载图标---打开文件夹,"在此就是edge浏览器下载文件目录了: 修改edge浏览器下载的文件或程序位置 打开文件资源管理器,找到下载文件夹,右键单击选择"属性",切换到"位置"选项卡,点击"移动",选择新的位置即可将"下载"文件夹移动到其他目录中. 方法二, 1.首先双击这电脑进入磁盘分布界面,如下图