如何检查文件是否已上传?

时间:2014-09-15 00:00:25

标签: file-upload asp-classic

我正在使用ASPUpload为网络表单上传文件,我正在处理的当前表单更新了数据库中的记录,因此您可以选择更改文件名,我有以下检查

If Upload.Form("imageFilename-bound") <> "" And Upload.Files = null Then
    skipUpload = true
End If

加载页面时,数据库中的文件名将成为只读文本框imageFilename-bound的值,而文件输入字段imageFilename用于选择文件。所以上面的Psudo代码是

  

IF [我们之前的图片名称]不为空 AND [我们还没有收到   要上传的文件] 那么
{我们没有上传文件}

现在因为有选项,用户不想更改文件和文件上传仅在最近才被建议(在表单完成后)我不想更改到与文件有关的任何内容上传(包括尺寸,类型等的验证)我已经放入If skipUpload = false Then条件。

如果我删除了And Upload.Files = null部分,我没有得到任何错误,但是在更新时我确实要更改图像它不会这样做(因为imageFilename-bound不是空字符串因此if声明是正确的)但是当我添加And Upload.Files = null部分时,我得到500错误,因此我无法正常看到问题(我被迫在没有错误记录的机器上进行测试)

所以我的问题是,如果我的文件输入字段确实收到文件,我如何检查ASPUpload?

1 个答案:

答案 0 :(得分:0)

我有使用此代码的页面

skipUpload = false

If Upload.Form("imageFilename-bound") <> "" Then
    skipUpload = true
    For Each File in Upload.Files
        skipUpload = false
    Next
End If

Psudo:

  

IF [我们之前的图片名称]不为空 然后
   {我们不上传文件}
   FOR EACH [已提交的文件]
   {我们实际上将上传}

这是我想要的,但我觉得这是非常不优雅,不得不使用循环来检查我是否已提交任何文件。我仍在寻找更好的答案