This repository has been archived on 2026-10-11. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
HiNC-2025-win-desktop-Deploy/App/wwwroot/HiAPI-docsite/manual/utilities/file-explorer.html
T
2026-09-09 17:35:23 +08:00

223 lines
12 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>File Explorer | HiAPI-C# 2025 </title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="title" content="File Explorer | HiAPI-C# 2025 ">
<link rel="icon" href="../../img/HiAPI.favicon.ico">
<link rel="stylesheet" href="../../public/docfx.min.css">
<link rel="stylesheet" href="../../public/main.css">
<meta name="docfx:navrel" content="../../toc.html">
<meta name="docfx:tocrel" content="toc.html">
<meta name="docfx:rel" content="../../">
<meta name="loc:inThisArticle" content="In this article">
<meta name="loc:searchResultsCount" content="{count} results for &quot;{query}&quot;">
<meta name="loc:searchNoResults" content="No results for &quot;{query}&quot;">
<meta name="loc:tocFilter" content="Filter by title">
<meta name="loc:nextArticle" content="Next">
<meta name="loc:prevArticle" content="Previous">
<meta name="loc:themeLight" content="Light">
<meta name="loc:themeDark" content="Dark">
<meta name="loc:themeAuto" content="Auto">
<meta name="loc:changeTheme" content="Change theme">
<meta name="loc:copy" content="Copy">
<meta name="loc:downloadPdf" content="Download PDF">
<script type="module" src="./../../public/docfx.min.js"></script>
<script>
const theme = localStorage.getItem('theme') || 'auto'
document.documentElement.setAttribute('data-bs-theme', theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme)
</script>
</head>
<body class="tex2jax_ignore" data-layout="" data-yaml-mime="">
<header class="bg-body border-bottom">
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
<div class="container-xxl flex-nowrap">
<a class="navbar-brand" href="../../index.html">
<img id="logo" class="svg" src="../../img/HiAPI.logo.png" alt="">
</a>
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
<i class="bi bi-three-dots"></i>
</button>
<div class="collapse navbar-collapse" id="navpanel">
<div id="navbar">
<form class="search" role="search" id="search">
<i class="bi bi-search"></i>
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
</form>
</div>
</div>
</div>
</nav>
</header>
<main class="container-xxl">
<div class="toc-offcanvas">
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
<div class="offcanvas-header">
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
</div>
<div class="offcanvas-body">
<nav class="toc" id="toc"></nav>
</div>
</div>
</div>
<div class="content">
<div class="actionbar">
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
<i class="bi bi-list"></i>
</button>
<nav id="breadcrumb"></nav>
</div>
<article data-uid="System/File-Explorer">
<h1 id="file-explorer">File Explorer</h1>
<p>Working with the files a project is built from, on the server rather than on your own machine. The
File Explorer lists what is there, opens text files in an editor beside the listing, and uploads,
downloads, renames, copies and deletes them.</p>
<h2 id="where-it-is">Where it is</h2>
<p>Its own page, reached from the menu bar's <strong>Page → File Explorer</strong>, at <code>/util/file-explorer</code>. It
needs no project loaded. The same browser also runs inside every file dialog the application opens
— the <strong>Project</strong> menu's entries, the Object Management buttons on the Control Tree, and the
Mechanism Builder's Load and Save As actions — so learning it here is learning all of those. Only
the page has the editor beside the listing; a dialog opens with that panel hidden and adds a bar
for confirming the pick.</p>
<h2 id="the-three-roots">The three roots</h2>
<p>The root selector at the left of the toolbar picks which tree is shown. There are three:</p>
<table>
<thead>
<tr>
<th>Root</th>
<th>What it holds</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Admin</strong></td>
<td>The server's working area. Projects and the shared resource library both live under it.</td>
</tr>
<tr>
<td><strong>Project</strong></td>
<td>The folder of the currently-loaded project. Listed only while a project is open.</td>
</tr>
<tr>
<td><strong>Resource</strong></td>
<td>The shipped library — controllers, cutter and workpiece materials, machine tools, spindle capabilities — in a folder named <code>Resource</code> under Admin.</td>
</tr>
</tbody>
</table>
<p>Everything the browser reports is named relative to the chosen root. Absolute server paths are not
shown and are not sent to the browser, so a path copied out of this page names a location inside a
root rather than a place on a disk.</p>
<p><img src="file-explorer-img/listing-row-actions.en.png" alt="The File Explorer at the shipped Table-B1 machine tool folder: the root selector reads Resource, the breadcrumb reads Resource / MachineTool / Table-B1.default, and the hovered row has revealed its four actions — download, rename, duplicate and delete"></p>
<p><em>At <code>/util/file-explorer/Resource/MachineTool/Table-B1.default</code>, with the pointer resting on one
row. The action strip appears only on the row under the pointer, and it is laid over the size and
modified columns so nothing on the row moves as it appears.</em></p>
<h2 id="finding-a-file">Finding a file</h2>
<p>Three ways in, and they agree with each other:</p>
<ol>
<li><strong>Expand the tree.</strong> A folder lists its contents the first time it is opened, so a large tree
costs nothing until it is walked into.</li>
<li><strong>Type the path.</strong> The path box in the toolbar takes a path relative to the selected root;
<code>Enter</code> goes there. The arrow beside it goes up one level.</li>
<li><strong>Use the address.</strong> The location is mirrored into the page address as
<code>/util/file-explorer/&lt;Root&gt;/&lt;path&gt;</code>, so a folder can be bookmarked or pasted to someone else.
Browsing rewrites the address, and editing the address drives the browser.</li>
</ol>
<p>The breadcrumb above the listing goes back up in one click, and the sort control in the toolbar
sets the order — by name, size, modified time or type, ascending or descending, with folders kept
first or not.</p>
<h2 id="reading-and-editing-a-file">Reading and editing a file</h2>
<p>Clicking a text file loads it into the editor on the right; the bar above the editor names the root
and the path, and the language selector beside it picks the syntax highlighting. That selector is
set from the file's extension when the file opens — a project, machine tool, mechanism, material or
milling-parameter file all arrive as XML — and can be changed for the file in hand.</p>
<p><img src="file-explorer-img/editor-panel.en.png" alt="The same folder with the mechanism file open in the editor: the bar names Resource and the file's path, the language selector reads xml, and the anchor elements of the mechanism are syntax-highlighted beside the listing"></p>
<p><em>At <code>/util/file-explorer/Resource/MachineTool/Table-B1.default</code>, after clicking the mechanism file.
The pencil button at the right of the toolbar hides and shows this panel; a file clicked while it is
hidden opens nothing, so a double-click is the gesture that opens a file either way.</em></p>
<p>Edits are not saved until <strong>Save</strong> is pressed, and the file's name carries a red mark while there
are unsaved edits. Ticking <strong>Auto Save</strong> instead writes shortly after typing stops and disables the
button; switching files, closing the panel or leaving the page flushes a pending write first. With
Auto Save off, those same three actions ask before discarding unsaved edits.</p>
<p>Binary files do not open here. A click on one reports that it is binary rather than filling the
editor with bytes, and an <code>.stl</code> file opens a 3D preview in the editor's place instead — closing the
preview brings back whatever text was underneath, unsaved edits included.</p>
<h2 id="renaming-and-moving">Renaming and moving</h2>
<p><strong>Rename</strong> on the row's action strip edits that entry's name. Because the name is written back as a
path relative to the folder it is in, the same action moves files:</p>
<div class="TIP">
<h5>Tip</h5>
<p><strong>Moving by renaming</strong></p>
<ul>
<li>Renaming <code>file1.txt</code> to <code>Folder/file1.txt</code> moves the file into <code>Folder</code>.</li>
<li>Renaming <code>file1.txt</code> inside <code>Folder</code> to <code>../file1.txt</code> moves it out to the folder above.</li>
</ul>
<p>Parent folders that do not exist yet are created. A move that would land outside the root is
refused, and so is one whose destination already exists.</p>
</div>
<p>A rename cannot move a file from one root to another. To do that, download from one and upload to
the other.</p>
<h2 id="the-other-row-actions">The other row actions</h2>
<ul>
<li><strong>Download</strong> saves the file to your own machine. On a folder it becomes <strong>Download as ZIP</strong>,
which packs the folder on the server and sends the archive.</li>
<li><strong>Extract ZIP</strong>, offered on <code>.zip</code> rows only, unpacks the archive beside itself into a folder
named after it.</li>
<li><strong>Duplicate</strong> copies the entry next to itself under the first free <code>-Copy-00</code> … <code>-Copy-19</code> name,
and reports that all twenty are taken rather than overwriting one.</li>
<li><strong>Delete</strong> needs a double-click to confirm. On a folder it removes the folder and everything
under it, and it will not delete a root.</li>
</ul>
<p><strong>Upload</strong>, in the toolbar, sends one file from your own machine into the folder being shown, and
overwrites a file of the same name that is already there. <strong>New Folder</strong> and <strong>New File</strong> beside it
create empty ones; creating a file that already exists fails rather than emptying it.</p>
<h2 id="see-also">See Also</h2>
<ul>
<li><a href="../../anatomy/util/file-explorer.html">File Explorer Page</a> — the component this page describes: its toolbar, its picker mode, the roots it exposes and the endpoints behind each action</li>
<li><a href="mech-builder.html">Mechanism Builder</a> — the other Page-menu utility, whose Load and both Save As actions open this browser as a picker</li>
<li><a href="index.html">Utilities</a> — the other screens the Page menu lists beside this one</li>
<li><a href="../basics/projects.html">Projects</a> — what the Project root holds, and which of those files a Save As copies</li>
</ul>
</article>
<div class="contribution d-print-none">
</div>
<div class="next-article d-print-none border-top" id="nextArticle"></div>
</div>
<div class="affix">
<nav id="affix"></nav>
</div>
</main>
<div class="container-xxl search-results" id="search-results"></div>
<footer class="border-top text-secondary">
<div class="container-xxl">
<div class="flex-fill">
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
</div>
</div>
</footer>
</body>
</html>