Skip to content

feat(filesystem): support Temp directory #993

Open
@bc-m

Description

@bc-m

Feature Request

Plugin

Filesystem

Description

On iOS, there is a temporary directory (named "tmp") in the app container. It is not yet possible to access it via the plugin.

Platform(s)

iOS

Preferred Solution

Add directory "TEMP".

Alternatives

As a workaround and to avoid a whole plugin for this task, we currently empty the temporary folder via AppDelegate.swift when the app is started or terminated.

func clearTmp() {
    do {
        let tmpDirURL = FileManager.default.temporaryDirectory
        let tmpDirectory = try FileManager.default.contentsOfDirectory(atPath: tmpDirURL.path)
        try tmpDirectory.forEach { file in
            let fileUrl = tmpDirURL.appendingPathComponent(file)
            try FileManager.default.removeItem(atPath: fileUrl.path)
        }
        print("Clear tmp directory succeed.")
    } catch {
        print("Clear tmp directory failed.")
    }
}

Additional Context

On Capacitor on iOS, when a multi-file selection is made via the HTML file input (<input type="file" multiple />), the selected files are copied to "tmp" within the app container. Unfortunately, the files are not removed automatically in a timely manner. I tried to explain it here: ionic-team/capacitor#5627

Therefore, we need a way to remove them programmatically. I think this plugin is suitable to map this function.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions