2011-12-21 21 views
12

Tôi muốn xóa đường dẫn tệp khỏi tệp tải lên. Tệp tải lên nằm trong bảng điều khiển cập nhật và tôi đang sử dụng AsyncFileUpload. Làm thế nào tôi có thể xóa các tập tin và thay đổi màu nền của FileUploadCách xóa văn bản tải lên tệp ở phía máy chủ (C#)

btnAudUpload_Click Phương pháp

string filename =FileUpload.FileName; 
string Fullpath = Path.Combine(@"D:\Media", filename); 
if (FileUpload.HasFile) 
    { 
if (filename.ToLower().EndsWith("mp4")) 
    { 
     //Saving the file 
    } 
    else 
    { 
      //I want to clear the FileUpload content here 
    }  
    } 

Trả lời

3

Nếu bạn muốn có tương tác mà không relouding trang bạn sẽ phải sử dụng JavaScript. Đó là lý do tại sao tôi sẽ kiểm tra phần mở rộng tập tin ở phía máy khách thay vì phía máy chủ. Ví dụ:

function checkFile() { 
    var input = document.getElementById('fileUpload').value.toLowerCase(); 
    var extension = '.mp4'; 

    if (!input.indexOf(extension, input.length - extension.length) != -1) { 
     alert('Invalid file extension. Only .mp4 is allowed.'); 
     document.getElementById('fileUpload').value = ''; 
    } 
} 

Điều duy nhất bạn sẽ phải thêm đang thay đổi màu nền fileUpload rất dễ thực hiện.

Chúc may mắn!

+0

câu hỏi: cách thay đổi màu nền, giải pháp, bạn đăng mã không bắt buộc, dừng đặt câu trả lời ít sử dụng – Sun

6

Tôi biết chủ đề này đã gần một tuổi, nhưng điều này vẫn có vẻ là một vấn đề phổ biến. Cách khắc phục dễ nhất mà tôi tìm thấy là đặt điều khiển tải lên tệp lên phiên bản mới của tệp.

FileUpload1 = new FileUpload(); 
+1

Điều này chắc chắn sẽ hoàn thành công việc, mặc dù tôi phải tự hỏi ... Bạn có cần chạy không một Dispose() trên điều khiển trước đó để giải phóng tài nguyên của nó? – MadHenchbot

+0

Chỉ cần đoán, nhưng tôi sẽ nói không. Thu gom rác nên chăm sóc dọn dẹp. –

12

Xóa Thuộc tính làm việc cho tôi ... nhưng điều đó sẽ loại bỏ phong cách và các công cụ khác

string filename =FileUpload.FileName; 
string Fullpath = Path.Combine(@"D:\Media", filename); 
if (FileUpload.HasFile) 
{ 
    if (filename.ToLower().EndsWith("mp4")) 
    { 
    //Saving the file 
    } 
    else 
    { 
    //I want to clear the FileUpload content here 
    FileUpload.Attributes.Clear(); 
    }  
} 
+1

Tôi nghĩ đây là cách làm sạch hơn :)! – Muhammedh

+1

gc cảm ơn bạn .. thực sự đã giúp – themis

1

Tôi nghĩ rằng khi bạn làm postback thuộc tính tập tin contnet sẽ bị loại bỏ theo mặc định, vì một lý do an ninh !

Các vấn đề liên quan