이미지를 base64 문자열로 변환해야하는 Windows Phone 애플리케이션을 개발 중이며 웹 서비스를 통해 해당 문자열을 전달해야합니다. 그래서 나는 많은 방법을 시도했지만 "Target Invocation error"오류가 발생할 때마다 보낼 수 없습니다. 이 코드를 사용하면 라이브러리에서 이미지를 선택할 수 있지만 웹 서비스를 통해 보낼 수는 없습니다. 누군가가 그것에 대해 알고 있다면Windows Phone에서 base64 문자열로 이미지를 변환하는 방법은 무엇입니까?
private void photoChooserTask_Completed(object sender, PhotoResult e)
{
BitmapImage image = new BitmapImage();
image.SetSource(e.ChosenPhoto);
this.imageTribute.Source = image;
byte[] bytearray = null;
using (MemoryStream ms = new MemoryStream())
{
if (imageTribute.Source == null)
{
}
else
{
WriteableBitmap wbitmp = new WriteableBitmap((BitmapImage)imageTribute.Source);
wbitmp.SaveJpeg(ms, 40, 40, 0, 82);
bytearray = ms.ToArray();
}
}
strimage = Convert.ToBase64String(bytearray);
}
그래서, 나 좀 도와주세요 :
나는 이미지를 은밀한하려면 다음 코드를 사용했다. 고맙습니다.편집
void uploadphoto()
{
WebClient webClient1 = new WebClient();
webClient1.DownloadStringCompleted += new DownloadStringCompletedEventHandler(webClient1_DownloadStringCompleted);
webClient1.DownloadStringAsync(new Uri("Web Service"));
}
void webClient1_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
var rootobject1 = JsonConvert.DeserializeObject<RootObject1>(e.Result);
int error = rootobject1.response.errorFlag;
string message = rootobject1.response.msg;
if (error == 0)
{
MessageBox.Show(message);
}
else
{
MessageBox.Show(message);
}
}
public class Response1
{
public int errorFlag { get; set; }
public string msg { get; set; }
public List<string> uploadedImageNames { get; set; }
}
public class RootObject1
{
public Response1 response { get; set; }
}
private void ImageUpload(object sender, RoutedEventArgs e)
{
//MessageBoxResult mb = MessageBox.Show("Select the mode of uploading the picture", "", MessageBoxButton.OKCancel);
Popup popup = new Popup();
photoSelection photo = new photoSelection();
popup.Child = photo;
popup.IsOpen = true;
photo.camera.Click += (s, args) =>
{
photoCameraCapture.Show();
popup.IsOpen = false;
};
photo.library.Click += (s, args) =>
{
photoChooserTask.Show();
popup.IsOpen = false;
};
}
편집 여기
나는 나의 오류의 스택 추적을 업로드했습니다. 그러니 확인하고 회신 해주십시오.
코드를 편집하고 대상 호출 예외가 나타나는 이유를 알려주십시오. WebClient를 사용하여 이미지를 웹 서비스에 보냅니다. –
스택 트레이스와 InnerException을 게시하십시오. – Richard210363
사실 저는 개발이 새로되었습니다. 스택 추적 및 InnerException을 보는 방법을 알려주시겠습니까? –