在用户实际提交表单之前,我们是否可以使用任何方式/功能/脚本来检查文件详细信息(扩展名和大小)。我不熟悉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>`
答案 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