我有一个文件上传控件我希望该文件仅在低于某些内存限制(8 Mb)时才会附加。我使用Ajax获取文件大小并在onchange事件上调用它。但我无法限制文件的附件。任何人都可以帮助我吗?
这是示例代码
function a(obj) {
if ($(obj).val() != '') {
var request;
var flag = false;
request = $.ajax({
type: "POST",
url: 'CheckFileSize.aspx',
data: "search=" + $(obj).val(),
success: function (size) {
if (parseFloat(size) < 8192) {
flag = true;
}
if (!flag) {
alert('File size is greater then 8 MB. The size of the file is ' + (parseFloat(size)) / 1024 + ' MB');
//限制用户上传的内容在此处输入代码 $(OBJ).VAL(NULL); } 返回标志; } }); } 返回false; }
答案 0 :(得分:1)
在处理上传文件的服务器端方法中,添加以下代码:
if (myFileUploadControl.HasFile)
{
int maxSize = Convert.ToInt32(ConfigurationManager.AppSettings.Get("MaxImageSize")); //MaxImageSize specified in web.config file to make it easy to change.
int imageSize = myFileUploadControl.PostedFile.ContentLength;
if (imageSize > maxSize)
{
string uploadImageError = "The selected file exceeds the maximum allowed size (" + maxSize / 1000 + "k)"; // Message to display to user.
}
else
{
// Code to process the file here.
}
}
将以下内容添加到web.config文件的system.web部分也可以防止接受过大的上传。
<!-- set max upload to 25 MB -->
<httpRuntime executionTimeout="300" maxRequestLength="25000"/>
答案 1 :(得分:0)
你应该能够清除输入的值 - 在jQuery中它看起来像
$('#fileInputId').val('')