나는 약간의 조작이 필요한 코드를 만들었습니다. "텍스트를 파일에 저장"은 다운로드 폴더에 텍스트 파일을 다운로드합니다. 나는 그것이 나에게 길을 묻기를 원한다. 파일을 저장할 위치를 물어봐야하며 다운로드 부분은 백엔드에서 발생해야하며 보이지 않아야합니다. 여기 사용자가 언급 한 폴더에 파일 저장하기 HTML
참조<html>
<body>
<table>
<tr><td>Text to Save:</td></tr>
<tr>
<td colspan="3">
<textarea id="inputTextToSave" cols="80" rows="25"></textarea>
</td>
</tr>
<tr>
<td>Filename to Save As:</td>
<td><input id="inputFileNameToSaveAs"></input></td>
<td><button onclick="saveTextAsFile()">Save Text to File</button></td>
</tr>
<tr>
<td>Select a File to Load:</td>
<td><input type="file" id="fileToLoad"></td>
<td><button onclick="loadFileAsText()">Load Selected File</button><td>
</tr>
</table>
<script type="text/javascript">
function saveTextAsFile()
{
var textToSave = document.getElementById("inputTextToSave").value;
var textToSaveAsBlob = new Blob([textToSave], {type:"text/plain"});
var textToSaveAsURL = window.URL.createObjectURL(textToSaveAsBlob);
var fileNameToSaveAs = document.getElementById("inputFileNameToSaveAs").value;
var downloadLink = document.createElement("a");
downloadLink.download = fileNameToSaveAs;
downloadLink.innerHTML = "Download File";
downloadLink.href = textToSaveAsURL;
downloadLink.onclick = destroyClickedElement;
downloadLink.style.display = "none";
document.body.appendChild(downloadLink);
downloadLink.click();
}
function destroyClickedElement(event)
{
document.body.removeChild(event.target);
}
function loadFileAsText()
{
var fileToLoad = document.getElementById("fileToLoad").files[0];
var fileReader = new FileReader();
fileReader.onload = function(fileLoadedEvent)
{
var textFromFileLoaded = fileLoadedEvent.target.result;
document.getElementById("inputTextToSave").value = textFromFileLoaded;
};
fileReader.readAsText(fileToLoad, "UTF-8");
}
</script>
</body>
</html>
"다운로드 부분은 백 엔드에서 발생해야합니다"- 클라이언트 측 JavaScript에서 작업 중이므로 백 엔드가 없습니다. – Quentin
백 엔드라고 말하면 다운로드중인 파일이 프레임/화면에 나타나서는 안됩니다. –
당신이 말하는 질문이 내가 물어 본 질문과 다릅니다. –