コード例 #1
0
        public async Task <ImageDataResult> GetPreviewImageDataByNameAsync(string fileName)
        {
            using (NpgsqlConnection connection = new NpgsqlConnection(base.connectionString))
            {
                string sql = @"SELECT
	                            prevf.""MimeType"",
                                prevf.""Data""
                                FROM ""Files"" f
                                JOIN ""Images"" i ON i.""OriginalFileId"" = f.""Id"" OR i.""PreviewFileId"" = f.""Id""
                                JOIN ""Files"" prevf ON prevf.""Id"" = i.""PreviewFileId""
                                WHERE f.""Name"" = :FileName
                            ";

                using (NpgsqlCommand command = new NpgsqlCommand(sql, connection))
                {
                    var fileNameParam = command.Parameters.AddWithValue("FileName", fileName);

                    await connection.OpenAsync();

                    using (NpgsqlDataReader dataReader = await command.ExecuteReaderAsync())
                    {
                        if (await dataReader.ReadAsync())
                        {
                            var result = new ImageDataResult
                            {
                                MimeType = (string)dataReader["MimeType"],
                                Data     = (byte[])dataReader["Data"]
                            };
                            return(result);
                        }
                    }
                }
            }
            return(null);
        }
コード例 #2
0
        public async Task <ImageDataResult> GetPreviewImageDataAsync(Guid imageId)
        {
            using (NpgsqlConnection connection = new NpgsqlConnection(base.connectionString))
            {
                string sql = @"SELECT
                                f.""MimeType"",
	                            f.""Data""
                                FROM ""Images"" i
                                JOIN ""Files"" f ON f.""Id"" = i.""PreviewFileId""
                                WHERE i.""Id"" = :ImageId;
                            ";

                using (NpgsqlCommand command = new NpgsqlCommand(sql, connection))
                {
                    var imageIdParam = command.Parameters.AddWithValue("ImageId", imageId);

                    await connection.OpenAsync();

                    using (NpgsqlDataReader dataReader = await command.ExecuteReaderAsync())
                    {
                        if (await dataReader.ReadAsync())
                        {
                            var result = new ImageDataResult
                            {
                                MimeType = (string)dataReader["MimeType"],
                                Data     = (byte[])dataReader["Data"]
                            };
                            return(result);
                        }
                    }
                }
            }
            return(null);
        }