Я получаю необработанные двоичные данные с SQL-сервера. Во-первых, я сохраняю его как файл, потому что загружаю файл и рисую серию точек на диаграмме. Но теперь я также хочу сохранить его на другом сервере, когда пользователь нажимает кнопку. Это ужасно глупо:Получение байтового массива вместо сохранения байтового массива в виде файла
- нагрузки двоичных данных с сервера
- «Преобразование» в файл
- сохранить его на пути
- Загрузить с этого пути.
- Рисовать диаграмму.
- Загрузка с этого пути
- Сохранить на сервер.
Когда я мог бы делать:
- нагрузки двоичные данные с сервера
- 'Преобразование' в Byte [] или какой-либо другой вид массива.
- Нарисуйте диаграмму из этого массива
- Сохраните этот массив на сервере.
Я думаю, что это должен быть массив байтов, хотя, как сервер, который я загружаю, и сервер, который я сохраняю, имеет varbinary (max) типа данных. Я прикрепил изображение того, что именно я хочу, чтобы программа выполняла.
Так что мой вопрос: Остановить сохранение в пути с помощью BinaryWriter, и начать получать байт [] Я могу использовать несколько раз
Это та часть, где я думаю, что это экономит на данной FilePath.
string fullPath = C:/Users/Mathias/Documents/Lektier/IHA/3. Semester/Projekt/Temporary Blob + "/" + fileName;
while (reader.Read())
{
FileStream fs = new FileStream(fullPath, FileMode.OpenOrCreate, FileAccess.Write);
BinaryWriter writer = new BinaryWriter(fs);
CurrentIndex = 0;
BytesReturned = reader.GetBytes(1, CurrentIndex, Blob, 0, BufferSize);
while (BytesReturned == BufferSize)
{
writer.Write(Blob);
writer.Flush();
CurrentIndex += BufferSize;
BytesReturned = reader.GetBytes(1, CurrentIndex, Blob, 0, BufferSize);
}
writer.Write(Blob, 0, (int)BytesReturned);
writer.Flush(); writer.Close();
}
Если вы хотите полный исходный код для этой формы, пожалуйста, обращайтесь. Сейчас это просто беспорядочно, поэтому я не видел смысла вставлять все это.
важный бит может все, что вы используете, чтобы нарисовать график принять какой-либо другой аргумент, чем имя файла ... –
хехе это делает. Я преобразовываю byte [] в строку, затем разбивая строку для каждой строки в ней ('\ n') Затем я сохраняю ее в строчном массиве и запускаю foreach для каждой строки в этой строке [] и добавьте точку в серию. –