Я загрузив файл с помощью HTML5 и вычислить md5 на стороне клиента (JavaScript) Затем на стороне сервера (обработчик) Я вставив файл ломтики в таблице, как это:Вычислить Md5 на стороне сервера
public void WriteBlobsToDB(byte[] buffer,int id)
{
File_Data fl = new File_Data();
fl.FileId = id;
fl.FileChunks = buffer;
try
{
WiFileData.InsertOnSubmit(fl);
dc.SubmitChanges();
}
catch (ExecutionEngineException e){throw e;}
}
, а затем, когда все файлы ломтики сохраняется в базе данных, я стараюсь читать их объявление сохранить их в byte[] allData
и вставить его в другой таблице:
public void WriteBlobs(int id, string fileName,int count,byte[] allData)
{
List<chunkInfo> listOfChunks;
File_Data fd = new File_Data();
File_List fl = new File_List();
try
{ var chunks = (from c in FileData
where c.FileId == id
orderby c.Id ascending
select new chunkInfo
{ Id = c.Id,
ChunkData = c.FileChunks.ToArray()
});
listOfChunks = chunks.ToList();
foreach (chunkInfo sChunk in listOfChunks)
{ fl.FileId = id;
fl.FileName = fileName;
int dstoffset = count * sChunk.ChunkData.Length;// count is set to 0 at teh beggginning
Buffer.BlockCopy(sChunk.ChunkData, 0, allData, dstoffset, sChunk.ChunkData.Length);
count++;
}
int l = allData.Length;
fl.FileData = new Binary(allData);
FileList.InsertOnSubmit(fl);
dc.SubmitChanges();
}
catch (Exception){throw;}
}
код работает, и я храню данные в база данных и allDatasize - это тот же размер моего файла в en д. Мне просто нужно проверить, записаны ли сохраненные данные в поле Filedata
в таблице. Как я могу вычислить md5 для него и сравнить его?
Благодаря
нет, мне нужно это сделать с помощью Linq – laila
@laila, см. Обновленное редактирование для кода C#/ссылки – chadhoc