returnx
شنبه 24 آبان 1393, 16:24 عصر
فرض کنید می خوایم یک فایل را به همراه ساختار Json ارسال کنیم ، من از روش زیر استفاده می کنم چون Byte به Byte تبدیل میشه بسیار کند هست ، مخصوصا در فایل های بزرگ :
QDataStream file_stream(&i_file);
QByteArray file_buffer;
while (!file_stream.atEnd())
{
int len=1048576;
char char_buffer[len];
int size_read=file_stream.readRawData(char_buffer,len) ;
if (size_read==-1)
cout<<"ERROR!";
QByteArray temp(char_buffer,size_read);
file_buffer.append(temp);
}
//cout<<"ARRAY Count: "<<file_buffer.count()<<"\n";
QJsonArray i_array;
foreach (char byte, file_buffer)
{
QJsonValue temp=byte;
i_array.append(temp);
}
json_object["file_content"]=i_array;
من روش های مختلفی را آزمایش کردم ، از کلاس QVariant هم استفاده کردم اما تو تبدیل مشکل داشت و NULL بر می گردوند ، تنها روشی که جواب داد این بود که بسیار کندِ...
روش بهتری سراغ دارید!؟
QDataStream file_stream(&i_file);
QByteArray file_buffer;
while (!file_stream.atEnd())
{
int len=1048576;
char char_buffer[len];
int size_read=file_stream.readRawData(char_buffer,len) ;
if (size_read==-1)
cout<<"ERROR!";
QByteArray temp(char_buffer,size_read);
file_buffer.append(temp);
}
//cout<<"ARRAY Count: "<<file_buffer.count()<<"\n";
QJsonArray i_array;
foreach (char byte, file_buffer)
{
QJsonValue temp=byte;
i_array.append(temp);
}
json_object["file_content"]=i_array;
من روش های مختلفی را آزمایش کردم ، از کلاس QVariant هم استفاده کردم اما تو تبدیل مشکل داشت و NULL بر می گردوند ، تنها روشی که جواب داد این بود که بسیار کندِ...
روش بهتری سراغ دارید!؟