Я очень старался загрузить фотографию из приложения Silverlight в приложение ASP .net MVC.
Я просто использую WebClient в Silverlight следующим образом:
private bool UploadFile(string fileName, Stream data)
{
try
{
UriBuilder ub = new UriBuilder("http://localhost:59933/Admin/Upload");
ub.Query = string.Format("filename={0}", fileName);
WebClient wc = new WebClient();
wc.OpenReadCompleted += (sender, e) =>
{
PushData(data, e.Result);
e.Result.Close();
data.Close();
};
wc.OpenWriteAsync(ub.Uri);
}
catch (Exception)
{
throw;
}
return true;
}
private void PushData(Stream input, Stream output)
{
byte[] buffer = new byte[4096];
int byteRead;
while ((byteRead = input.Read(buffer, 0, buffer.Length)) != 0)
{
output.Write(buffer, 0, byteRead);
}
}
С другой стороны, я создал простое действие под названием Upload:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Upload()
{
//Some code here
}
Проблема в том, что он не достигает точки останова в методе загрузки.
Это вообще возможно? Причина, по которой я использую Silverlight, заключается в том, что я хочу предварительно просмотреть изображение перед его загрузкой на сервер, и это очень просто в Silverlight.
Мне не удалось сделать это в JavaScript, и поэтому Silverlight может быть более полезным здесь.