그래서 필자는 휴대용 클래스 라이브러리에 만든이 xml 파일을 메일에 직접 첨부하여 Messaging PlugIn을 사용하여 보내야합니다. 문제는 .WithAttachment()가 PCL에서 지원되지 않기 때문에 DependencyService를 사용하여이 문제를 해결할 수 있는지 묻고 싶었습니다. 그렇다면 어떻게해야합니까?Xamarin PCL의 Messaging PlugIn (Carel Lotz)?
UWP 클래스에서 .WithAttachment()를 반환 할 수 있습니까 (UWP는 대상 플랫폼 임). UWP의 .WithAttachment() 오버로드가 .WithAttachment (IStorageFile 파일)이라는 것을 읽었 기 때문에 충돌이 없습니까?
private void Senden_Clicked(object sender, EventArgs e)
{
var emailMessenger = CrossMessaging.Current.EmailMessenger;
if (emailMessenger.CanSendEmail)
{
var email = new EmailMessageBuilder()
.To("[email protected]")
.Subject("Test")
.Body("Hello there!")
//.WithAttachment(String FilePath, string ContentType) overload showing in PCL
//.WithAttachment(IStorageFile file) overload for the UWP according to the documentation
.Build();
emailMessenger.SendEmail(email);
}
}
편집 : 버튼 클릭을 통해 첨부 파일이 포함 된 이메일을 보낼 수 있도록 닉 저우의 대답은 조금 수정할 수있었습니다
. 이것에
var picker = new Windows.Storage.Pickers.FileOpenPicker
{
ViewMode = Windows.Storage.Pickers.PickerViewMode.List,
SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.DocumentsLibrary
};
picker.FileTypeFilter.Add("*");
: 그런 다음 응용 프로그램의 로컬 폴더 대신 문서 라이브러리 내부의 파일을 작성해야 물론
StorageFolder sf = ApplicationData.Current.LocalFolder;
var file = await sf.GetFileAsync("daten.xml");
난 그냥 코드의 평화를 변경했습니다.
고맙습니다. 선생님! 파일을 자동으로 가져 오거나 기본 위치를 DocumentsLibrary로 설정하는 방법이 있는지 알고 있습니까? 'SuggestedStartLocation'은 DocumentsLibrary로 설정하지 않기 때문에 (문서에 따르면 사용자가 선택한 폴더 또는 그와 비슷한 것을 기억합니다). – RoloffM
@ 닉 좋아, 이제 알았어! 그리고 선생님, 진짜 MVP입니다! 고맙습니다. <3 – RoloffM