【问题标题】:Getting Image from the server while ignoring the file's case sensitivity从服务器获取图像,同时忽略文件的大小写敏感性
【发布时间】:2013-03-11 01:36:20
【问题描述】:

如何让我的代码获取图像“_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());                
}

【问题讨论】:

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


    【解决方案1】:

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

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

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

    【讨论】:

    • 通过启用服务器的不区分大小写模式解决。非常感谢!
    【解决方案2】:

    就像 Alexei Levenkov 的建议之一,我通过启用模块“mod_speling”使我的 Apache 服务器不区分大小写

    这是链接 http://www.leccionespracticas.com/informatica-sistemas-y-servidores/apache-case-sensitive-to-case-insensitive-and-alias-solved/

    Apache 在 *nix 系统上区分大小写,因为底层文件 系统区分大小写。这可能会给网站带来麻烦 来自不区分大小写的系统。比较容易去除 apache 模块 check_speling 的敏感性(有趣的名字, 嗯?)。它还会在可能的情况下重新映射错误输入的 url,映射 index.htm 到正确的 index.html 等。

    这是 Ubuntu/Debian 系统的程序。

    1. 在命令行中,键入 sudo su 以获取 root 权限。
    2. 纳米 /etc/apache2/mods-available/speling.conf
    3. 键入 CheckSpelling on 并按 ctrl-x, y 退出并保存文件。
    4. 输入 a2enmod,然后拼写并回车。
    5. 键入 /etc/init.d/apache2 reload 以重新加载 apache。
    6. 输入错误的网址进行测试。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-17
      • 2016-11-18
      • 2011-06-11
      • 1970-01-01
      • 1970-01-01
      • 2013-04-04
      相关资源
      最近更新 更多