Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static Image SelectPhoto(int photoId, out string desc)
- {
- const string SelectTSql = @"
- SELECT
- descripcion, Archivo.PathName(), GET_FILESTREAM_TRANSACTION_CONTEXT()
- FROM Fuentes
- WHERE Id = @PhotoId";
- Image photo;
- string serverPath;
- byte[] serverTxn;
- using (TransactionScope ts = new TransactionScope())
- {
- using (SqlConnection conn = new SqlConnection(ConnStr))
- {
- conn.Open();
- using (SqlCommand cmd = new SqlCommand(SelectTSql, conn))
- {
- cmd.Parameters.Add("@PhotoId", SqlDbType.Int).Value = photoId;
- using (SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.
- SingleRow))
- {
- rdr.Read();
- desc = rdr.GetSqlString(0).Value;
- serverPath = rdr.GetSqlString(1).Value;
- serverTxn = rdr.GetSqlBinary(2).Value;
- rdr.Close();
- }
- }
- photo = LoadPhotoImage(serverPath, serverTxn);
- }
- ts.Complete();
- }
- return photo;
- }
- private static Image LoadPhotoImage(string filePath, byte[] txnToken)
- {
- Image photo;
- using (SqlFileStream sfs =
- new SqlFileStream(filePath, txnToken, FileAccess.Read))
- {
- photo = Image.FromStream(sfs);
- }
- return photo;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement