Tôi đã thấy nhiều vấn đề như thế này đã được giải quyết và vấn đề chủ yếu là do luồng không được xử lý đúng cách."Quá trình không thể truy cập tệp vì nó đang được sử dụng bởi một quá trình khác" với Hình ảnh
Vấn đề của tôi là hơi khác nhau, ở đây theo một đoạn mã
foreach (Images item in ListOfImages)
{
newPath = Path.Combine(newPath, item.ImageName + item.ImageExtension);
File.Create(newPath);
File.WriteAllBytes(newPath, item.File);
}
đâu Images
là một cấu trúc tùy chỉnh và item.File
là dữ liệu thô, byte [].
Vấn đề của tôi là tại dòng nơi số WriteAllBytes
được gọi, ngoại lệ được ném. Thông điệp đọc:
The process cannot access the file because it is being used by another process
Một lần nữa tôi không có đầu mối như thế nào tôi sẽ bằng cách nào đó close
quá trình này.
Một số hình ảnh có cùng ImageName và ImageExtension không? –
Bạn có chắc chắn, là đường dẫn newPath tồn tại? –
xóa 'File.Create (newPath);' và thử. File.WriteAllBytes: 'Tạo một tệp mới, ghi mảng byte đã chỉ định vào tệp và sau đó đóng tệp. Nếu tập tin mục tiêu đã tồn tại, nó sẽ bị ghi đè. 'Http://msdn.microsoft.com/en-us/library/system.io.file.writeallbytes.aspx –