我有一个图像控件,用于在单击按钮时显示图像。代码如下:
.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
图像控件的 onclick消失。此问题仅在 Firefox 浏览器上出现,在 IE 中运行良好。
fileToUpload
在 C# 代码中包含图像的属性路径,包括驱动器号。我不想将文件物理存储到应用程序文件夹中,因为这只是为了预览图像。
请帮我解决这两个问题。