IMAGE STREAM
Для получения картинки из Image Server-а с помощью VB кода используется функция: GetImageStreamPath(strSize, strVersion, strID). Сюда передается: размер, версия и идентификатор картинки. Данная функция возвращает ссылку на Image Server. Данная ссылка вставляется в HTML в тег <img> - в итоге получается картинка.
Изображения могут быть связаны с цветами (к каждому отдельному цвету может быть прикреплена картинка). Для получения ссылки на цвета используется функция: GetColorStreamPath(strSize, strColorFolderID, strColorPaletteID).
SQL Code
- Функция dbo.fnx_GetStreamingImagePath(@ImageID, @ImageVersion, @ImageQualityValue) — возвращает ссылку на Image Server.
- Функция dbo.fnx_GetStreamingImageHTML(@ImageID, @ImageVersion, @ImageQualityValue, @AdditionalAttributes) — возвращает текстом тег <img>.
Для цветов
- dbo.fnx_GetStreamingColorImagePath(@ColorFolderID, @ColorPaletteID, @ImageQualityValue)
- dbo.fnx_GetStreamingColorImageHTML(@ColorFolderID, @ColorPaletteID, @ImageQualityValue, @AdditionalAttributes)
Для добавления своего типа изображения, в plmOnFileServices\ImageStreamerDoc.vb есть функция GetImageUrl(). При генерации ссылки нужно указать параметр IT (Image Type). В зависимости от Image Type-а, определяется откуда брать картинку.
На примере POM-ов:
ElseIf Me.strImageType = "POM" Then
'POM Image
imageCacheIsOn = False   "вкл/выкл кэширование для конкретного типа изображений (POM)
If strStorageServerType = "HTTP" Then
Me.originalImgPath = strImagePOMServer & "/{" & Me.strImageId & "}/{" & Me.strImageId & "}.jpg"
If Not Me.keepOriginalSize Then
Me.imgPath =
Yunique.Core.Library.ConfigHandler.GetAppSettings(Yunique.Core.Library.ConfigHandler.AppSettings("STORAGE"))("IMAGEPOMPATH") & "\Thumbnail\{" & Me.strImageId & "}\{" & Me.strImageId & "}.jpg"
If saveResizedThumbnailsToDisk Then
Me.imgPath = IO.Path.ChangeExtension(Me.imgPath, String.Format(".Size{0}.jpg", Me.intImageWidth.ToString()))
End If
End If
ElseIf strStorageServerType = "FILE" Then
Me.originalImgPath =
Yunique.Core.Library.ConfigHandler.GetAppSettings(Yunique.Core.Library.ConfigHandler.AppSettings("STORAGE"))("IMAGEPOMPATH") & "\Thumbnail\{" & Me.strImageId & "}\{" & Me.strImageId & "}.jpg"
End If
SQL функция
ALTER FUNCTION [dbo].[fnx_GetStreamingImageGRPOMPath]
(
@ImageID UNIQUEIDENTIFIER
, @ImageQualityValue INT
)
RETURNS NVARCHAR(255)
AS
BEGIN
DECLARE @StreamingImagePath NVARCHAR(255)
DECLARE @ImageServer NVARCHAR(200)SELECT @ImageServer = AppSettingValue
FROM sAppSetting
WHERE AppSettingKey = 'InternalImageServer'
AND ConfigFileName = 'Server.config'SET @StreamingImagePath = @ImageServer + '/ImageStream.ashx?IT=POM&S=' + CAST(@ImageQualityValue AS NVARCHAR(5)) + '&V=' + '&ID=' + CAST(@ImageID AS NVARCHAR(255))
RETURN @StreamingImagePath
END