提交前检查文件详细信息

时间:2013-09-12 03:10:39

标签: javascript jquery

在用户实际提交表单之前,我们是否可以使用任何方式/功能/脚本来检查文件详细信息(扩展名和大小)。我不熟悉jquery或javascript,所以如果这是解决方案,那么请详细帮助我。

我希望当用户选择文件时,使用onchange命令,文件将被检查并返回'tick'图标以显示它被接受并返回erorr msg如果大小更大或者他们使用其他扩展名。< / p>

这是表格..

<table width="809" cellpadding="2" cellspacing="2">
  <tr>
  <td width="252"><label for="file">Acceptance Letter from Publisher:</label></td>
  <td width="541"><input type="file" name="acceptletter" id="file" onchange="checkFile(this.value)"></td>
  </tr>
  <tr>
  <td width="252"><label for="file">Turnitin Similarity Report :</label></td>
  <td width="541"><input type="file" name="turnitin" id="file" onchange="checkFile(this.value)></td>
  </tr>
  <tr>
  <td width="252"><label for="file">Paper Indexing :</label></td>
  <td width="541"><input type="file" name="paperindex" id="file onchange="checkFile(this.value)"></td>
  </tr>
  <tr>
  <td width="252"><label for="file">Publisher's Reviewers Report :</label></td>
  <td width="541"><input type="file" name="reviwerReport" id="file"onchange="checkFile(this.value)"></td>
  </tr></table>`

3 个答案:

答案 0 :(得分:0)

好的,首先对于'扩展',您只需要取文件名/路径,然后对'。'进行拆分。焦炭。即。

var sFileName = document.getElementById('file').value;
var sFileExtension = sFileName.split('.')[sFileName.split('.').length - 1];
alert(sFileExtension);

查找文件大小...

var iFileSize = document.getElementById('file').files[0].size;
alert(iFileSize);

最后,您不能拥有多个具有相同“id”属性的dom元素。除了其中一个之外,您需要将id =“file”更改为“file”之外的其他内容。此外,将关键字用作唯一名称并不是一种好的编码习惯。将所有这些内容的ID更改为唯一的内容,而不是像'file。'这样的关键字。

答案 1 :(得分:0)

首先,您为所有3个元素提供了Id 文件。它应该是独一无二的。 您可以按如下方式获取文件大小

var filesize = $("#file1").files[0]·size; //gives Size in bytes.
var filename = $("#file1").files[0]·name;   //say file name "abcd.xls"

var lastIndex = filename.lastIndexOf(".");    //index of . that is 4
var extension1 = filename.substring(lastIndex);   //will give ".xls"
var extension2 = filename.substring(lastIndex+1);   //will give "xls"

从文件名中,您可以通过子字符串的最后一个索引来获取扩展名。

答案 2 :(得分:0)

返回文件名属性:

fileName = fileuploadObject.name ;

获取路径或名称:

fileuploadObject.value; //it's read only

获取文件名和扩展名:

var extension = fileName.split('.').pop();
var name = fileName.split('.')[0];

获取文件大小:

var fileSize = fileuploadObject.size); // in bytes
相关问题