Как получить CSVWriter для добавления данных BLOB-объектов в ячейку
У меня есть приложение, которое позволяет пользователю подписать планшет, и изображение будет получено. Эта часть у меня работает с подтверждением, так как я могу просматривать изображения после их создания и сохранения.
Я пишу их в файл.csv со следующим кодом.
//region - Create CSV file
writer = new CSVWriter(new FileWriter(sdCardPath + "Orders_Summary_Report.csv"), ',', CSVWriter.NO_QUOTE_CHARACTER, CSVWriter.DEFAULT_ESCAPE_CHARACTER, "\r\n");
//writer.writeNext(CSVcursor.getColumnNames()); //Write the column headings first before the looping starts
String [] headings = ("Order Id,Item ID,Item Name,Item Price,Item Count,Item Total,Paid Amount,VOID Order,Payment Method,Order Signature,Member/Authorization,Tab Number,Order Time").split(",");
writer.writeNext(headings);
for(CSVcursor.moveToFirst(); !CSVcursor.isAfterLast(); CSVcursor.moveToNext()) //Loop through all results (use row count of table)
{
String[] entries = (CSVcursor.getInt(CSVcursor.getColumnIndex("orderId"))+ ","
+CSVcursor.getInt(CSVcursor.getColumnIndex("itemId"))+ ","
+CSVcursor.getString(CSVcursor.getColumnIndex("itemName"))+ ","
+CSVcursor.getString(CSVcursor.getColumnIndex("itemPrice")) + ","
+CSVcursor.getInt(CSVcursor.getColumnIndex("itemCount"))+ ","
+CSVcursor.getString(CSVcursor.getColumnIndex("itemTotal"))+ ","
+CSVcursor.getString(CSVcursor.getColumnIndex("orderPaid"))+ ","
+CSVcursor.getInt(CSVcursor.getColumnIndex("orderVoid"))+ ","
+CSVcursor.getString(CSVcursor.getColumnIndex("orderType"))+ ","
+CSVcursor.getBlob(CSVcursor.getColumnIndex("orderSignature"))+ ","
+CSVcursor.getString(CSVcursor.getColumnIndex("referenceId"))+ ","
+CSVcursor.getInt(CSVcursor.getColumnIndex("orderTab"))+ ","
+CSVcursor.getString(CSVcursor.getColumnIndex("orderTime"))).split(","); //Split the string by the delimiter
writer.writeNext(entries); //Write current row of DB to file
writer.flush(); //Flush the stream
}
writer.close();
Файл успешно записывается, но когда я просматриваю файл.csv, столбец, в котором сохраняются данные BLOB-объектов, выглядит следующим образом.
B @ 2342342 B @ 2123982 B @ 3952929
Похоже, я просто сохраняю подпись или какой-либо другой атрибут файла, а не сам файл.
Нужно ли передавать поток больших двоичных объектов в файл csv?
1 ответ
Просто повторяю @CommonsWare. Правильно, что нужно сделать, это сохранить BLOB-объект на диске под именем am. Таким образом, его можно легко найти для встраивания в файл, если это необходимо. Я все еще сохраняю свои изображения в БД в виде BLOB-объектов и просто отображаю их в виде. Если вы хотите поместить эти файлы в CSV, я хотел бы рассмотреть другой тип, например, PDF.