Skip to content

Commit

Permalink
Allow to set prefix for saved blob
Browse files Browse the repository at this point in the history
  • Loading branch information
kiennq committed Feb 4, 2024
1 parent 570b440 commit ddf3ec7
Showing 1 changed file with 7 additions and 5 deletions.
12 changes: 7 additions & 5 deletions csclip/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -228,7 +228,8 @@ async Task<string> GetDataAsync(string format)
public struct SaveDataToFileOptions
{
public string cf;
public string store_path;
public string path;
public string prefix;
}

async Task<string> GetDataToFileAsync(SaveDataToFileOptions options)
Expand All @@ -242,7 +243,7 @@ async Task<string> GetDataToFileAsync(SaveDataToFileOptions options)

if (data.Contains(stdFormat))
{
if (options.store_path == null)
if (options.path == null)
{
return (string)await data.GetDataAsync(stdFormat); ;
}
Expand All @@ -253,7 +254,7 @@ async Task<string> GetDataToFileAsync(SaveDataToFileOptions options)
{
var sblob = await (blob as RandomAccessStreamReference).OpenReadAsync();
var ext = MimeTypes.MimeTypeMap.GetExtension(sblob.ContentType);
var fileName = $"{Guid.NewGuid().ToString()}{ext}";
var fileName = $"{options.prefix}{Guid.NewGuid()}{ext}";
_ = Task.Run(async () =>
{
try
Expand All @@ -263,7 +264,8 @@ async Task<string> GetDataToFileAsync(SaveDataToFileOptions options)
await RandomAccessStream.CopyAndCloseAsync(sblob, sout);
}, null);
var path = Path.GetFullPath($"{options.store_path}/");
var path = Path.GetFullPath($"{options.path}/");
// Ensure the directory exists
(new FileInfo(path)).Directory.Create();
var folder = await StorageFolder.GetFolderFromPathAsync(path);
await tempFile.CopyAsync(folder, fileName, NameCollisionOption.ReplaceExisting);
Expand Down Expand Up @@ -341,7 +343,7 @@ public Responser(int id, Program prog)
// Received:
// - :copy: [{cf:, data:}+] -> nil
// - :get: <data format> -> <requested data>
// - :get-to-file: {cf:, store_path:} -> <saved file name>
// - :get-to-file: {cf:, path:} -> <saved file name>
[JsonRpcMethod("copy")]
public async Task HandleCopyDataAsync(IList<ClipboardData> data)
{
Expand Down

0 comments on commit ddf3ec7

Please sign in to comment.