Tag: 下载

在C#中部分下载和序列化大文件?

作为我大学即将开展的项目的一部分,我需要编写一个客户端,从服务器下载媒体文件并将其写入本地磁盘。 由于这些文件可能非常大,我需要实现部分下载和序列化,以避免过多的内存使用。 我想出了什么: namespace PartialDownloadTester { using System; using System.Diagnostics.Contracts; using System.IO; using System.Net; using System.Text; public class DownloadClient { public static void Main(string[] args) { var dlc = new DownloadClient(args[0], args[1], args[2]); dlc.DownloadAndSaveToDisk(); Console.ReadLine(); } private WebRequest request; // directory of file private string dir; // full file identifier private string filePath; public DownloadClient(string […]

使用C#和IIS 7保护大型下载

这是设置: 1个运行C#应用程序的Web服务器,我的用户(存储在所述服务器上的MySQL数据库中)进行身份validation。 1个运行软件TBD的文件服务器。 在过去,我使用lighttpd和mod_secdownload来保护文件服务器上的文件,并且它运行良好(ish)。 我想知道是否有办法使用IIS和C#.Net的组合来做到这一点。 我的所有其他服务器都运行该组合,如果我可以对文件服务器执行相同操作,它会简化一些事情。 踢球者是,托管的文件很大。 我见过人们使用小应用程序创建FileStream对象,读入文件并手动创建HTTP响应的示例。 这可行,但由于我正在处理500+ MB大小的文件,所以它很慢。 我可能会有300名用户同时点击该框,请求文件。 那不好。 所以,有人看到这个方法吗? 我正在尝试创建一个更透明的系统,如果我的所有服务器都运行相同的软件/硬件,它将使我的生活变得更加简单。 在此先感谢您提供的任何建议!

如何使用其应用程序打开文件(该文件不存在于Web服务器中)?

我想问一下如何在点击特定的链接按钮或超链接时打开一个特定的文件(该文件在服务器之外,我有一个存储在配置文件中的相对路径)及其应用程序… 喜欢 : 开盘 .docx用词。 要么 .pdf与acrobat阅读器 我尝试了几种方法但是,我得到了不同的错误 无法使用前导..退出顶级目录 我的.cs: public void ProcessRequest(HttpContext context) { int newsId = int.Parse(context.Session[“newsId”].ToString()); int FK_UnitId = int.Parse(context.Session[“UserData”].ToString()); string dirPathForTextFiles = ConfigurationManager.AppSettings.GetValues(“ThePath”).First() + “/” + “NewsTextFiles” + “/” + “UnitNum” + FK_UnitId.ToString() + “_” + “NewsNum” + newsId + “/”; DataTable UpdatedDateTable = (DataTable)context.Session[“theLastUpdatedTextFile”]; UpdatedDateTable.AcceptChanges(); context.Session.Add(“currentTextFile”, UpdatedDateTable); List l = […]

下载大文件,保存在数据库中

我们有很多文件,在SQL Server数据库中保存为二进制文件。 我已经将用于传递这些文件的.ashx文件发送给用户。 不幸的是,当文件变得相当大时,它将失败,并出现以下错误: 算术运算中溢出或下溢 我假设它耗尽了内存,因为我将二进制文件加载到byte []中。 所以,我的问题是,当它来自数据库表时,我怎样才能创建这个function,读取块(也许?)? 似乎Response.TransmitFile()似乎是一个不错的选择,但同样,如何使用数据库? DB.GetReposFile()在下面的代码中从数据库中获取文件。 条目有各种字段:Filename,ContentType,datestamps和FileContent as varbinary。 这是我的function,提供文件: context.Response.Clear(); try { if (!String.IsNullOrEmpty(context.Request.QueryString[“id”])) { int id = Int32.Parse(context.Request.QueryString[“id”]); DataTable dtbl = DB.GetReposFile(id); string FileName = dtbl.Rows[0][“FileName”].ToString(); string Extension = FileName.Substring(FileName.LastIndexOf(‘.’)).ToLower(); context.Response.ContentType = ReturnExtension(Extension); context.Response.AddHeader(“Content-Disposition”, “attachment; filename=” + FileName); byte[] buffer = (byte[])dtbl.Rows[0][“FileContent”]; context.Response.OutputStream.Write(buffer, 0, buffer.Length); } else { context.Response.ContentType […]

如何知道下载何时完成

嗨,我正在创建在线商店。 在这个shope人们在线必须购买带有zip扩展名的文件。 他们用信用卡或其他方法支付​​获得密钥和下载产品。 我怎么知道他们何时完成产品下载? 谢谢

c#根据下载请求动态重命名文件

尝试下载文件时是否可以重命名文件? 例如,我想使用他们的id将文件存储到文件夹,但是当用户下载文件时,我想返回原始文件名。

从电子邮件下载附件

如何浏览电子邮件并下载所有附件? public string Connect_Email () { string Res = “”; try { mailclient = new TcpClient(“pop.orange.fr”, Convert.ToInt16(“110”)); } catch ( SocketException ExTrhown ) { Res = “Unable to connect to server 1”; throw new Exception(ExTrhown.Message + “Unable to connect to server 1”); } ns = mailclient.GetStream(); sr = new StreamReader(ns); sw = new StreamWriter(ns); response […]

为什么在我的WebClient DownloadFileAsync方法下载空文件?

我有这个C#代码,但最终的esi.zip导致0长度或基本为空。 URL确实存在并确认手动下载文件。 我很困惑买这个。 string zipPath = @”C:\download\esi.zip”; Client.DownloadFileAsync(new Uri(“http://ec.europa.eu/economy_finance/db_indicators /surveys/documents/series/nace2_ecfin_1409/all_surveys_total_sa_nace2.zip”), zipPath) 谢谢 更新:我更新了根本不存在空格的代码,但它仍然下载0个字节。

使用WebClient在Unity3d中下载大文件

我正在寻找有关使用WebClient在Unity3d中下载大(100mg +)文件的任何想法。 WWW以异步方式运行并且完美无缺,除非它返回内存错误并导致应用程序崩溃,因此我已按照此处所述移至解决方案: 如何从url下载文件并使用C sharp中的unity3d保存在位置? 这就像一个梦想, 除了它关闭我的应用程序中的所有脚本,直到下载完成。 我似乎甚至无法在下载进行的同时运行加载栏。 我试过通过添加一个协程来处理下载,但到目前为止,没有运气。 任何帮助,将不胜感激。 我的代码目前(经过多次迭代后)看起来像: C# void Update() { //Sets up the timer so I can use it to watch the debugging timer += Time.deltaTime; Debug.Log (timer); //Checks to see if the file was already downloaded and saved. If not, it begins downloading. if (FileExists == 0 && timer […]

在我的下载程序中添加暂停和继续function

我正在用C#创建一个下载程序。 我正在使用WebClient类。 要在按钮上暂停下载,我可以考虑使用Thread。 因此,当我创建线程并将其与我的文件下载附加如下 WebClient web = new WebLCient(); Thread dwnd_thread = new Thread(Program.web.DownloadFileAsync(new Uri(Program.src), Program.dest)); 它给了我以下错误:“’System.Threading.Thread.Thread(System.Threading.ThreadStart)’的最佳重载方法匹配’有一些无效的参数”和“Argument’1’:无法从’void’转换为’ System.Threading.ThreadStart’”。 然后我想如果我暂停我的系统主线程然后它可以阻止我在下面的代码行使用的整个过程 System.Threading.Thread.Sleep(100); 但它什么都不做。 有人可以告诉我什么是更好的暂停/下载方法以及如何使用线程暂停我的下载过程。