2012-06-06 33 views
5

Tôi có ứng dụng chứa tệp từ hệ thống tệp, email từ Outlook hoặc tệp đính kèm từ Outlook được kéo và thả và sau đó lưu thư mục hệ thống tệp để tải lên SharePoint sau này.Lấy nội dung của tệp DragDrop EventArgs cho tệp đính kèm MSG nhúng từ Outlook được kéo vào điều khiển

Đây là tất cả tiền phạt ngoài khi tôi cần phải xác định nội dung của một tập tin đính kèm đó là một email (tức là một tập tin đính kèm email trên một email - nhúng MSG) nơi FileContents là null. Có cách nào để tôi có thể truy cập nội dung của email để lưu dưới dạng tệp .msg không?

Đoạn mã sau tạo một cách chính xác cho MemoryStream file đính kèm mà không phải là email nhưng là null với nhiều loại email:

void DoDrop(object sender, DragEventArgs e) 
{ 
    var memoryStream = (MemoryStream) eventArgs.Data.GetData("FileContents", true); 
} 

Trả lời

0

Tôi không thể tái tạo hành vi này. Tôi đã sử dụng mã mẫu ở trên của bạn và nó hoạt động hoàn toàn kéo MSG được nhúng từ ngăn xem trước Explorer hoặc cửa sổ Trình kiểm tra. Phải có một cái gì đó bạn không chia sẻ với chúng tôi về MSG nhúng. What is the attachment type?

Tôi cũng đề xuất bạn review the CodeProject sample for Outlook Drag-n-Drop. Mã mẫu của bạn không xem xét khi nhiều mục được bỏ vào ứng dụng - nó sẽ chỉ lấy mục đầu tiên nếu người dùng chọn (2) tệp đính kèm, (3) email, (5) tệp, v.v.

+0

Tôi sẽ quay lại mã này ngay bây giờ khi sự cố đã tăng đầu của nó một lần nữa. Mã mẫu ở trên là một phần của nguyên mẫu. Mã thực tế giao dịch với nhiều tệp. Điều này xảy ra nếu tôi tạo một email mẫu và đính kèm nó vào một email cho bản thân mình vì vậy tôi không chắc chắn về sự khác biệt là gì. Tôi sẽ điều tra loại tệp đính kèm. – Catherine

0

Tôi có một điều khiển hộp danh sách mở rộng i vb.net xử lý thao tác kéo và thả bao gồm cả các email từ Outlook. Tôi có cùng một vấn đề như bạn đã chỉ ra trong bài đăng gốc của bạn. Khi thả các tệp đính kèm được tạo thành từ các tệp .msg được nhúng, GetData trả về Tệp Nội dung là rỗng. Trong thời gian này, tôi chỉ hiển thị thông báo cho người dùng cho biết họ nên thử bỏ tệp đính kèm trên màn hình trước rồi kéo nó vào ứng dụng. Điều này dường như làm việc như hệ điều hành Windows sẽ chăm sóc giải nén dữ liệu và lưu trữ nó như là một tập tin .msg (mà kéo và giọt một cách chính xác của chính nó).

Tôi cũng đã tìm thấy một số ví dụ về cách thực hiện điều này nhưng đã không thành công trong việc tạo lại chúng trong vb.net. Điều hữu ích nhất là trên codeproject.com và được gọi là "Outlook Kéo và Thả trong C#" của David Ewen, ngày 28 tháng 7 năm 2008. Nó đề cập đến cả hai tệp đính kèm và tệp đính kèm là các thư nhìn. Kể từ khi nó được viết bằng C#, có lẽ bạn có thể tìm thấy nó của một số sử dụng.

Tôi biết rằng tôi đang vi phạm các quy tắc bằng cách hỏi, nhưng nếu bạn đã tìm thấy một giải pháp tốt hơn so với những gì tôi đang cung cấp, tôi sẽ quan tâm.

+0

Nếu bạn có câu hỏi của riêng bạn, nó hoàn toàn hợp lệ để đăng chúng. Nếu không, hãy xem xét sao câu hỏi này và theo dõi sau. Bạn cũng có thể đăng 'yêu cầu cập nhật' của bạn như là một commont trên chính câu hỏi đó. Chào mừng bạn đến với trang web! –

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