在使用 jQuery 進(jìn)行文件上傳時(shí),默認(rèn)情況下無法獲取文件大小。這是由于 jQuery 文件上傳插件在設(shè)計(jì)時(shí)默認(rèn)不會(huì)傳遞文件大小參數(shù)。但是,我們可以使用不同的方法傳遞文件大小,以使該值在上傳過程中有效。
我們可以使用“FormData”對象來上傳文件。這個(gè)對象允許您上傳數(shù)據(jù),包括文件和文本組合到服務(wù)器。此外,使用append
方法添加文件時(shí),還可以添加文件大小參數(shù)。例如:
var formData = new FormData(); formData.append('file', $('input[type=file]')[0].files[0]); formData.append('fileSize', $('input[type=file]')[0].files[0].size);
在以上代碼中,我們添加了一個(gè)名為“fileSize”的參數(shù),它的值為文件大小。在后續(xù)的上傳操作中,此參數(shù)將與文件一起上傳。
為了將文件上傳到服務(wù)器,我們可以使用 Ajax 方法。下面是一段典型的 Ajax 上傳代碼:
$.ajax({ url: 'upload.php', data: formData, type: 'POST', contentType: false, processData: false, success: function(data) { alert(data); } });
這個(gè) Ajax 代碼包括上傳的 URL,文件和文件大小參數(shù),POST 請求類型,禁用 contentType 和 processData。如果上傳成功,服務(wù)器將返回一些數(shù)據(jù)。您可以使用 JavaScript 中的“success”回調(diào)方法訪問它。
因此,使用上述方法,我們可以很容易地在上傳文件時(shí)傳遞文件大小參數(shù),并使之有效。