2013-02-25 21 views
8

Có thể tạo các tập tin tạm thời và hình ảnh trong các ứng dụng asp.net bằng cách sử dụng một cái gì đó như thế này:Temp Files Asp.net

Nếu không, tôi có thể làm như thế nào? (ImagePB là một Bitmap điều trị trước đây)

if (System.IO.File.Exists(System.IO.Path.GetTempPath() + @"img" + imgID.ToString() + "PB" + extencao) == true) 
{ 
    try 
    { 
     System.IO.File.Delete(System.IO.Path.GetTempPath() + @"img" + imgID.ToString() + "PB" + extencao); 
     imagePB.Save(System.IO.Path.GetTempPath() + @"img" + imgID.ToString() + "PB" + extencao, imgFormat); 
    } 
    catch (Exception) 
    { } 
} 
+0

Xem xét đây là trang web .net, người dùng mà ứng dụng đang thực thi sẽ cần quyền truy cập đọc/ghi vào thư mục tạm thời. Nếu bạn cần trợ giúp thiết lập điều đó, hãy truy cập vào serverfault.com – NotMe

Trả lời

8

Vâng, GetTempPath() nên trả về một đường dẫn tập tin tạm thời, và mã bạn đã gửi nên làm việc. http://msdn.microsoft.com/en-us/library/system.io.path.gettemppath.aspx có thêm thông tin về cách GetTempPath() nhận đường dẫn.

Mặc dù, nó không xác minh nếu thư mục Temp Path tồn tại hoặc có thể ghi bởi ứng dụng. Tôi đã không chạy vào một tình huống mà GetTempPath() không trả lại một con đường không thể tiếp cận. Bạn có thể muốn tính đến điều này trong ứng dụng của mình để xử lý tình huống này.

Cũng lưu ý, điều này rất có thể là C:\Windows\Temp. Nó có thể có không gian đĩa hạn chế, hoặc bị xóa bất cứ lúc nào bởi một người khác khi không gian đĩa là cần thiết. Bạn có thể muốn tạo đường dẫn tạm thời trong ứng dụng của mình và xóa nó khi bạn không còn cần đến nó nữa.

+0

Và còn vấn đề bảo mật thì sao? – user2013107

+0

Loại sự cố bảo mật nào? Bạn có lo lắng về một người nào đó trái phép nhìn thấy các tập tin? Khả năng mà bạn không thể ghi vào thư mục 'GetTempPath()' trả về? –

+1

Các ứng dụng ASP.net không thể ghi vào thư mục đó theo mặc định. – Christian