Tag: 文件

使用服务器文件的路径时,何时需要使用后退或正斜杠(单或双)?

关于以下代码示例: string baseLocation = HttpContext.Current.Server.MapPath(“/”); const string templateName = @”//temp//ExportTemplate.xlsx”; const string generatedLocation = @”{0}//temp//{1}”; var fileName = string.Format(“Export-{0}.xlsx”, DateTime.Now.Date.ToString(“yyyy-MM-dd”)); var newFile = String.Format(generatedLocation, baseLocation, fileName); File.Copy(baseLocation + templateName, newFile, true); 我们在生产服务器和本地开发环境(通过IIS中的站点)上使用它。 两者都运行IIS 7.5。 代码在生产中正常工作,但在本地开发中抛出错误: Access to the path ‘C:\Path\To\Site\//temp//Export-2013-01-29.xlsx’ is denied. 该文件是在本地dev上正确创建/复制的,但由于路径中的斜杠不正确,我猜这是错误的。 应用程序池标识具有对“temp”文件夹的完全访问权限。 这提出了几个问题: 在这种情况下,’//’对路径做了什么? 我理解’\’是逃避反斜杠的方法,但’//’没有意义。 两个环境的配置是否存在差异,这使得生成的路径在生产服务器上正常工作但在本地开发中失败?

C#/ WPF:获取shell使用的图标

我正在尝试开发一个应用程序,它可以显示目录的内容,如Windows资源管理器(带有文件名和图标)。 我目前正在使用此代码: public class IconManager { public static ImageSource GetIcon(string path, bool smallIcon, bool isDirectory) { uint flags = SHGFI_ICON | SHGFI_USEFILEATTRIBUTES; if (smallIcon) flags |= SHGFI_SMALLICON; uint attributes = FILE_ATTRIBUTE_NORMAL; if (isDirectory) attributes |= FILE_ATTRIBUTE_DIRECTORY; SHFILEINFO shfi; if (0 != SHGetFileInfo(path, attributes, out shfi, (uint)Marshal.SizeOf(typeof(SHFILEINFO)), flags)) { return System.Windows.Interop.Imaging.CreateBitmapSourceFromHIcon(shfi.hIcon, Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions()); } return null; […]

将图像从资源文件保存到计算机 – c#

Okei,我有一个带有资源文件的C#项目。 资源文件包含图像(.png)。 我希望将png文件保存/解压缩到我的计算机上的指定文件夹中。 我该怎么做呢?

文件名和哑剧问题 – ASP.NET下载文件(C#)

我在ASP.NET应用程序中遇到了一个非常奇怪的问题。 当用户单击下载文件的按钮时,Internet Explorer / Chrome / Firefox会显示保存对话框,但文件名是ASPX页面的名称 (例如,如果页面名为Download.aspx,则下载对话框显示“文件”Download.zip)。 有时,在使用MIME类型时,下载对话框显示“Download.aspx”。 似乎您正在尝试下载该页面,但实际上是正确的文件。 ZIP扩展会发生这种情况,这是我的代码(我认为非常标准): this.Response.Clear(); this.Response.ClearHeaders(); this.Response.ClearContent(); this.Response.AddHeader(“Content–Disposition”, “attachment; filename=” + file.Name); this.Response.AddHeader(“Content-Length”, file.Length.ToString()); this.Response.ContentType = GETCONTENTYPE(System.IO.Path.GetExtension(file.Name)); this.Response.TransmitFile(file.FullName); this.Response.End(); GetContentType函数只返回文件的MIME。 我尝试使用application / x-zip-compressed , multipart / x-zip ,当然还有application / zip 。 使用application / zip Internet Explorer 8显示XML错误。 任何帮助都非常感激。 问候,

需要递归地生成文件数组的每个唯一组合

我研究过很多类似的请求,但没有什么是我需要的。 这是我的问题。 我正在使用C#,我有一个FileInfo []数组,其中包含未知数量的元素。 FileInfo[] files = new FileInfo[] { new FileInfo(@”C:\a.jpg”), new FileInfo(@”C:\b.jpg”), new FileInfo(@”C:\c.jpg”), new FileInfo(@”C:\d.jpg”), new FileInfo(@”C:\e.jpg”), new FileInfo(@”C:\f.jpg”), new FileInfo(@”C:\g.jpg”), new FileInfo(@”C:\h.jpg”), new FileInfo(@”C:\i.jpg”), }; // Using 9 elements for this example 我需要生成这些文件的每个可能的重新排序组合的列表,而不重复文件。 所以,我的一些结果将是这样的(例子不是代码格式): a, b, c, d, e, f, g, h, i a, b, c, d, e, f, g, i, […]

文件夹事件中的新文件

有人可以帮我理解如何构建一个24/7全天候监听特定文件夹的软件(例如C:\ Actions),每次我在该文件夹中放置一个新文件时,软件需要阅读和处理它。 如果文件夹中没有文件,则软件不应该只做等待下一个文件。 文件示例(action1.txt)内容(1 + 1) 软件正在处理(1 + 1),将答案(2)保存到另一个文件夹并从“C:\ Actions \”文件夹中删除文件(action1.txt)。 我知道如何读取文件并进行处理.. 我很难理解如何在文件夹中有新文件时如何触发软件以及如何在不使用太多内存或导致内存泄漏的情况下全天候运行软件…… 直到现在我已经以原始的循环方式使用它,每次60秒(睡眠)我正在检查文件夹中的新文件。 那是无用的,不那么有效。 如果有人能帮我理解如何让它更有效,我会很高兴的。 非常感谢你

C#包装媒体文件元数据

我正在寻找一个很好的包装器来提取依赖于文件类型的媒体文件属性。 我正在创建一个可以处理video,音频,图像等的通用媒体库。它们不仅仅是.wmv或.mp3,我希望能够支持各种格式,并且不希望自己将自己打造成一个sdk像WMP SDK似乎只支持MS编解码器。 我已经看到VLC wrpper上有小写,但是还没有成熟。 所以,基本上我希望能够指向一个文件并提取它是什么。 音乐,图像,video,然后在其上获得元数据分辨率,fps,比特率,编解码器等,如果可能等等,作为艺术家,专辑歌曲,我意识到这并不总是可能的。

在“config.cfg”等文本文件中存储程序设置的逻辑如何?

我常常看到一些软件,特别是在文本文件中存储设置的游戏。 我想在我的C#WinForms应用程序中也有相同的东西(我知道可以用于用户和软件方面的应用程序设置)因为我认为最终用户更容易处理它。 所以我需要知道的是如何读取这些设置文件,例如设置类的字段。 想象一下,我有一个具有以下字段的类: private double vOffset = 0; private bool Refresh = false; 这将是我的文本文件(假设文件名为“config.cfg”): ;This is a comment Voltage Offset = 0.08 ;Refresh Enable = 1 | Disable = 0 Refresh = 1 想听听你的想法,也许还有一些代码可能! 用于读取此文件和更新类字段,以及如何从软件中保存或更新此列表。 谢谢。

在尝试加载之前如何检查jpeg图像文件是否实际上是有效图像?

在C#.NET 4.0 ,基于我下载错误图像的问题(将错误的aspx页面保存为image.jpg而不是image.jpg中的实际图像),我需要以某种方式读取文件并确定它是否是有效图像与否。 我只需要1个函数public bool IsValidJpgImage(string ImageFilename); 任何返回false的东西(不是有效的图像文件)我将从磁盘中删除。

C#/ .Net:将文件返回浏览器?

在这个问题之后,建议我创建一个可以从文件系统返回文件的服务器端文件。 我将如何在c#和.net中执行此操作。 我想我将文件名作为查询字符串传递,这是由页面读取并返回文件。 从编码角度来看,不确定从哪里开始。