How to set rules at FileOperations READ action in Blazor FileManager

Answer:

We can achieve by setting an additional attribute to the read operations of FileManager component. Onsend event will trigger for each read operations of FileManager component. Using that event, we can send additional parameter to the controller side. Refer the below code snippet.

<SfFileManager ID="file" AllowMultiSelection="true" ShowThumbnail="false">

<FileManagerEvents OnSend="send">FileManagerEvents>

<FileManagerAjaxSettings Url="http://localhost:57662/FileManager/FileOperations"

UploadUrl="http://localhost:57662/FileManager/Upload"

DownloadUrl="http://localhost:57662/FileManager/Download"

GetImageUrl="http://localhost:57662/FileManager/GetImage">

FileManagerAjaxSettings>

SfFileManager>

@code {

SfFileManager file;

public void send(BeforeSendEventArgs args)

{

if (args.Action != "Upload")

{

string AjaxSettingsString = JsonConvert.SerializeObject(args.AjaxSettings);

Dictionary<string, dynamic> AjaxSettings = JsonConvert.DeserializeObjectstring, dynamic>>(AjaxSettingsString);

string dataString = AjaxSettings["data"];

Dictionary<string, dynamic> data = JsonConvert.DeserializeObjectstring, dynamic>>(dataString);

// Add a additional parameter in data.

data.Add("Id_value", "1");

string modifiedDataString = JsonConvert.SerializeObject(data);

AjaxSettings["data"] = modifiedDataString;

string returnString = JsonConvert.SerializeObject(AjaxSettings);

// Assign the value in AjaxSettings

args.AjaxSettings = JsonConvert.DeserializeObject<object>(returnString);

}

}

}


FileManagerDirectoryContent is a inbuilt class for PhysicalFileProvider of FileManager component. We need to override the controller class method for adding the additional value in that class. Refer the below code.

public class FileManagerDirectoryContent1

{

...

public bool HasChild { get; set; }

public string Id_value { get; set; }

}

public ActionResult FileOperations(FileManagerDirectoryContent1 args)

{

var Id_value = args.Id_value;

this.operation.SetRules(GetRules());

}



Loader.
Up arrow icon