建站技术

当前位置:

FileUpload.HasFile 属性

浏览量:

获取一个值,该值指示 FileUpload 控件是否包含文件。

属性值

类型:System.Boolean
如果 FileUpload 包含文件,则为 true;否则为 false

 

HasFile 属性获取一个值,该值指示 FileUpload 控件是否包含要上载的文件。 在对要上载的文件执行操作之前,使用该属性来验证该文件是否存在。 例如,在调用 SaveAs 方法将文件保存到磁盘之前,使用 HasFile 属性来验证文件存在。 如果 HasFile 返回 true,则调用 SaveAs 方法。 如果它返回 false,则向用户显示消息,指示控件不包含文件。

下面的示例演示如何创建执行错误检查的 FileUpload 控件。 在保存文件之前,调用 HasFile 方法来验证该控件是否包含要上载的文件。 此外,还调用 File.Exists 方法来检查路径中是否已存在同名的文件。 如果存在同名文件,则在调用 SaveAs 方法之前为要上载的文件的名称前加上一个下划线字符。 这可以防止现有文件被覆盖。

 
<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>FileUpload.SaveAs Method Example</title>
<script runat="server">

    protected void  UploadButton_Click(object sender, EventArgs e)
    {
        // Before attempting to save the file, verify
        // that the FileUpload control contains a file.
        if (FileUpload1.HasFile)
          // Call a helper method routine to save the file.
          SaveFile(FileUpload1.PostedFile);
        else
          // Notify the user that a file was not uploaded.
          UploadStatusLabel.Text = "You did not specify a file to upload.";
    }

      void SaveFile(HttpPostedFile file)
      {           
        // Specify the path to save the uploaded file to.
        string savePath = "c:\\temp\\uploads\\";

        // Get the name of the file to upload.
        string fileName = FileUpload1.FileName;

        // Create the path and file name to check for duplicates.
        string pathToCheck = savePath + fileName;

        // Create a temporary file name to use for checking duplicates.
        string tempfileName = "";

        // Check to see if a file already exists with the
        // same name as the file to upload.       
        if (System.IO.File.Exists(pathToCheck))
        {
          int counter = 2;
          while (System.IO.File.Exists(pathToCheck))
          {
            // if a file with this name already exists,
            // prefix the filename with a number.
            tempfileName = counter.ToString() + fileName;
            pathToCheck = savePath + tempfileName;
            counter ++;
    


[声明]本网转载网络媒体稿件是为了传播更多的信息,此类稿件不代表本网观点,本网不承担此类稿件侵权行为的连带责任。故此,如果您发现本网站的内容侵犯了您的版权,请您的相关内容发至此邮箱【27535611@qq.com】,我们在确认后,会立即删除,保证您的版权。