c# - 从服务器获取图像,同时忽略文件的大小写敏感性

标签 c# winforms ubuntu-12.04 webrequest case-sensitive

我怎样才能让我的代码获取图像“_filename.JPG”而不仅仅是“_filename.jpg”?

string picUrl = "http://MyServer/" + _filename + ".jpg";            
Image webImage = global::MyProject.Properties.Resources.ImageNotFound1;
try
{
    WebRequest requestPic = WebRequest.Create(picUrl);
    WebResponse responsePic = requestPic.GetResponse();
    webImage = Image.FromStream(responsePic.GetResponseStream());                
}

最佳答案

服务器强制区分大小写 - 您的客户端代码无法影响服务器的行为。 HTTP 服务器要求路径的精确大小写是不常见的,但对于基于 Unix/Linux 的服务器来说很容易获得行为,并在 Uri RFC 中描述了这种方式。 .

如果服务器区分大小写,您的选项:

  • 询问文件的确切名称(可能服务器提供了一种获取确切文件名的方法。即通过解析某些 HTML 页面)
  • 提前知道名称的大小写(即在服务器上仅使用小写名称)。
  • 为名称中的每个字符生成部分/所有大小写组合(即尝试已知的大小写,例如 .jpg/.JPG),但这可能需要很长时间。
  • 重新配置服务器以接受不区分大小写的文件名
  • 查看服务器是否支持某种提示来进行不区分大小写的文件检索(不太可能,但是......)

关于c# - 从服务器获取图像,同时忽略文件的大小写敏感性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15329925/

相关文章:

.net - WinForms 中的水印文本框

android - ADB 未在 ubuntu 12.04 中检测到设备 samsung i777

c# - 何时分配类型?

c# - 如何使用 Onvif 库 c# 获取设备信息?

c# - 尝试从 EF 实体模型生成 MySQL 数据库时出错

c# - 什么是 ServiceObjectiveId?

c# - 当用户单击该行的单元格时,如何选择完整的 dataGridView 行?

c# - 编码的 UI 测试中的 UITestControlNotAvailableException

apache - .htaccess mod_rewrite 在子目录中不起作用

amazon-ec2 - Jmeter(无法在 Ubuntu Amazon 实例中运行 Jmeter)