【问题标题】:Issue with asp Image and file upload controls in Mozilla FirefoxMozilla Firefox 中的 asp 图像和文件上传控件问题
【发布时间】:2012-08-05 04:57:15
【问题描述】:

我有一个图像控件,用于在单击按钮时显示图像。代码如下:

.aspx 代码

<asp:Image ID="imgCorrect" runat="server" Height="175px" Width="150px" ImageUrl="~/_layouts/images/NoPreviewShareHR_Grey.jpg" />

<asp:FileUpload ID="FlUpldImage" runat="server" Width="200px" />

<asp:RegularExpressionValidator runat="server" ID="valUp" ControlToValidate="FlUpldImage"
ErrorMessage="Image Files Only (.jpg, .bmp, .png, .gif)" ValidationGroup="ImageFormat"
ValidationExpression="^(([a-zA-Z]:)|(\\{2}\w+)\$?)(\\(\w[\w].*))(.jpg|.JPG|.gif|.GIF|.jpeg|.JPEG|.bmp|.BMP|.png|.PNG)$" />

<asp:Button ID="btnImageUpload" runat="server" Text="Preview" OnClick="btnImageUpload_Click" CausesValidation="false"/>

<asp:HiddenField ID="HidnLocalImageURL" runat="server" Value=""/>

C# 代码

protected void btnImageUpload_Click(object sender, EventArgs e)
{
    String fileToUpload = Convert.ToString(FlUpldImage.PostedFile.FileName);
    HidnLocalImageURL.Value = fileToUpload;
    if (fileToUpload != "")
        imgCorrect.ImageUrl = fileToUpload;
    else
        imgCorrect.ImageUrl = "~/_layouts/images/NoPrview.jpg";
}

上述代码在 IE 上运行良好,但在 Mozilla Firefox 中出现问题:

  • 文件上传的 RE 验证器将错误消息显示为无效图像,即使正确 图像被选中并
  • 点击btnImageUpload 图像控件消失。这 问题仅在 Firefox 浏览器上出现,在 IE 中运行良好。

C# 代码中的fileToUpload 包含图像的prope 路径,包括驱动器号。我不想将文件物理存储到应用程序文件夹中,因为这只是为了预览图像。

请帮我解决这两个问题。

【问题讨论】:

    标签: c# asp.net image firefox file-upload


    【解决方案1】:

    尝试记录 FlUpldImage.PostedFile.FileName。

    我认为 firefox 只发送文件名而不是完整路径。 如果是这样,最好使用简单的文本框并在其中粘贴路径而不使用对话框。

    【讨论】:

      【解决方案2】:

      作为安全预防措施,禁止从远程网站引用本地计算机上的图像。如果您遇到此限制并且您了解安全隐患,则可以禁用此安全措施。

      了解更多信息 http://kb.mozillazine.org/Images_or_animations_don%27t_load

      【讨论】:

        猜你喜欢
        • 2013-12-02
        • 2014-01-28
        • 1970-01-01
        • 2014-07-23
        • 2011-03-21
        • 2010-09-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多