-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathStorageController.cs
More file actions
92 lines (78 loc) · 2.55 KB
/
StorageController.cs
File metadata and controls
92 lines (78 loc) · 2.55 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
using System;
using System.Collections.Generic;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MangaLibrarySystem
{
public static class StorageController
{
public static string StorageDirectory = Directory.GetCurrentDirectory();
public static async Task<byte[]> ReadFileBytes(FileType fileType, string fileId)
{
string subDirectory = string.Empty;
switch(fileType)
{
case FileType.Image:
subDirectory = "/image";
break;
case FileType.Data:
subDirectory = "/data";
break;
}
byte[] fileBytes = null;
using (FileStream fs = File.Open(StorageDirectory + subDirectory + "/" + fileId, FileMode.Open))
{
fileBytes = new byte[fs.Length];
await fs.ReadAsync(fileBytes, 0, (int)fs.Length);
}
return fileBytes;
}
public static async void WriteFileBytes(FileType fileType, string fileId, byte[] data)
{
string subDirectory = string.Empty;
switch (fileType)
{
case FileType.Image:
subDirectory = "/image";
break;
case FileType.Data:
subDirectory = "/data";
break;
}
using (FileStream fs = File.Open(StorageDirectory + subDirectory + "/" + fileId, FileMode.Create))
{
await fs.WriteAsync(data, 0, (int)data.Length);
}
return;
}
public static Bitmap ByteToImage(byte[] blob)
{
MemoryStream mStream = new MemoryStream();
byte[] pData = blob;
mStream.Write(pData, 0, Convert.ToInt32(pData.Length));
Bitmap bm = new Bitmap(mStream, false);
mStream.Dispose();
return bm;
}
public static void CheckStorrageDirectoryStructure()
{
if (!Directory.Exists(StorageDirectory + "/image"))
{
Directory.CreateDirectory(StorageDirectory + "/image");
}
if (!Directory.Exists(StorageDirectory + "/data"))
{
Directory.CreateDirectory(StorageDirectory + "/data");
}
return;
}
public enum FileType
{
Image = 0,
Data = 1
}
}
}