Nano Hash - криптовалюты, майнинг, программирование

Как сохранить байтовый массив в файл из Silverlight

У меня есть приложение SL 3, подключенное к службе WCF. Эта служба извлекает массив байтов. Я хотел бы сохранить этот массив как файл PDF с помощью FileStream. Проблема в том, что при извлечении байтового массива я получаю исключение при попытке показать SaveFileDialog, потому что это действие инициируется методом обратного вызова, а не действием пользователя, как кажется. Я хотел бы знать, есть ли какое-либо решение для этого. У меня уже есть байтовый массив, теперь мне нужно сохранить его в месте, указанном пользователем. Как бы то ни было ... Есть подсказка?

Заранее спасибо.


Ответы:


1

Вы подключаетесь к событию завершения метода при вызове асинхронного метода? Видеть это

http://www.silverlightshow.net/items/Using-the-SaveFileDialog-in-Silverlight-3.aspx

Внутри вашего метода обратного вызова вы можете реализовать логику записи в файл - сначала открыв диалоговое окно, а затем получив указатель на файловый поток, как показано ниже.

       try 
       {
           byte[] fileBytes = //your bytes here 
           SaveFileDialog dialog=new SaveFileDialog();

           //Show the dialog              
           bool? dialogResult = this.dialog.ShowDialog();  

           if (dialogResult!=true) return;


            //Get the file stream

            using ( Stream fs = ( Stream )this.dialog.OpenFile() )  
            {  
                fs.Write( fileBytes, 0, fileBytes.Length );  
                fs.Close();  

                //File successfully saved
            }  
        }  
        catch ( Exception ex )  
        {  
            //inspect ex.Message  
        }  
01.02.2010
  • Привет, дорогой, я не знаю, что случилось. Я прокомментировал, а затем раскомментировал некоторый код, и затем появилось диалоговое окно ¿¿?? Но после этого у меня возникли проблемы с записью байтового массива, но ваш ответ здесь был решением. Большое спасибо!! 02.02.2010
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..