Load images within datapacket delayed and cache them locally
This commit is contained in:
1 parent
08f4428e28
commit
2f2349ffbb
6 files changed
+133
-21
No files matched your search
@@ -68,6 +68,13 @@ namespace ServerLib
|
||||
set { CServer.getSiteFile = value; }
|
||||
}
|
||||
|
||||
private static GetDelayedImageDelegate getDelayedImage;
|
||||
public static GetDelayedImageDelegate GetDelayedImage
|
||||
{
|
||||
internal get { return CServer.getDelayedImage; }
|
||||
set { CServer.getDelayedImage = value; }
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region songs
|
||||
|
||||
@@ -96,6 +96,12 @@ namespace ServerLib
|
||||
UriTemplate = "/img/{filename}")]
|
||||
Stream GetImgFile(String filename);
|
||||
|
||||
[OperationContract]
|
||||
[WebInvoke(Method = "GET",
|
||||
ResponseFormat = WebMessageFormat.Json,
|
||||
UriTemplate = "/delayedImage?id={id}")]
|
||||
Base64Image GetDelayedImage(String id);
|
||||
|
||||
#endregion
|
||||
|
||||
#region songs
|
||||
@@ -382,6 +388,11 @@ namespace ServerLib
|
||||
}
|
||||
}
|
||||
|
||||
public Base64Image GetDelayedImage(string id)
|
||||
{
|
||||
return CServer.GetDelayedImage(id);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region songs
|
||||
|
||||
@@ -58,6 +58,8 @@ namespace ServerLib
|
||||
|
||||
public delegate byte[] GetSiteFileDelegate(string filename);
|
||||
|
||||
public delegate Base64Image GetDelayedImageDelegate(string hashedFilename);
|
||||
|
||||
#endregion
|
||||
|
||||
[DataContract]
|
||||
@@ -66,6 +68,9 @@ namespace ServerLib
|
||||
[DataMember]
|
||||
private string base64Data = "";
|
||||
|
||||
[DataMember]
|
||||
private string imageId = "";
|
||||
|
||||
public Base64Image(Image img, ImageFormat format)
|
||||
{
|
||||
MemoryStream ms = new MemoryStream();
|
||||
@@ -74,6 +79,11 @@ namespace ServerLib
|
||||
base64Data = "data:image/" + formatString + ";base64," + Convert.ToBase64String(ms.ToArray());
|
||||
}
|
||||
|
||||
public Base64Image(string imageId)
|
||||
{
|
||||
this.imageId = imageId;
|
||||
}
|
||||
|
||||
public Image getImage()
|
||||
{
|
||||
string onlyBase64Data = base64Data.Substring(base64Data.IndexOf(";base64,") + (";base64,").Length);
|
||||
|
||||
Reference in new issue
Block a user