2013-09-10 3 views
0

이제 제 질문은 다소 모호하지만, 많은 사람들이 묻는 것처럼 보입니다. HTML 페이지에서 특정 IE가 아닌 파일을 저장하는 방법이 있습니까? 나는 XML 파일을 열고 페이지에서 파일을 편집하고 저장할 수있는 HTML 페이지를 작성하려고합니다. 스크립트를 사용하여 파일을 쓰는 데 엄청난 보안상의 영향이 있기 때문에 분명히 일반적인 연습으로는 좋지 않지만 몇 가지 방법이 있어야합니다. 대부분의 데이터 조작에 JavaScript를 사용하고 있지만 XML 파일을 변경 한 후에는 내 하드 디스크에 저장된 사본에 반영된 이러한 변경 사항을 볼 수 있어야합니다. 이와 같은 옵션에는 어떤 옵션이 있습니까?브라우저에서 파일을 저장하거나 수정하는 방법

+0

아니요, 그렇게 없습니다. 자바 스크립트를 사용하여 클라이언트 컴퓨터에 파일을 저장하는 것은 끔찍한 보안 취약점이었을 것이고 하나님 께 감사 드릴 수는 없습니다. 당신이 IE를 언급 할 때 당신은 몇몇 ActiveX 솔루션을 의미한다고 생각합니다. –

+0

브라우저는 다운로드 만 제공 할 수 있으며 파일을 쓸 위치는 선택할 수 없습니다. 기본 개념은 이전 답변 인 [** here **] (http://stackoverflow.com/a/14680193/1615483)이지만 _ [** ObjectURL **]을 생성하려고 할 가능성이 가장 높습니다. (https://developer.mozilla.org/en-US/docs/Web/API/URL.createObjectURL)_ _Blob_에서 저장하려는 데이터입니다. –

+0

ajax를 사용하여 서버로 보내고, 클라이언트가'window.location = '/grabfile.php?id ='+ id; '로 잡아서 잠시 저장하십시오. grabfile.php에서 파일을'header ('Content-disposition : attachment; filename ='. $ filename);'그러면 브라우저가 파일을 다운로드하여 저장합니다. 굉장해. – DDS

답변

0

당신이 그렇게 할 수 있다고 생각하지 않지만, PHP를 사용하여 사용자가 지정한 내용으로 파일을 생성하고 서버에 저장할 수 있습니다. 그런 다음 사용자에게 링크를 반환하여 볼 수 있습니다. 백엔드 데이터베이스가 있다면 더 효과적입니다.

제가 말했듯이,이 옵션은 사실 서버를 변경하지 않고 파일을 생성합니다.

유용한 링크 : 나는 nodejs을 확인하는 것이 좋습니다 것입니다

http://www.tech-recipes.com/rx/1455/php-create-a-file-on-your-server/

+0

일부 CMS는이 작업을 수행합니다. – Jacques

0

. Chrome과 동일한 기능을하는 확장 프로그램을 작성했습니다. 그것은 내 하드 디스크에서 파일을 열고 편집하고 나중에 저장할 수 있습니다. 방금 브라우저와 파일 시스템 사이의 다리 역할을하는 노드와 소켓을 사용했습니다. 다음은 과정을 보여주는 동영상입니다. http://www.youtube.com/watch?v=exAWuCZFCSc 아마도 자바 스크립트를 잘 알고 있기 때문에 자신 만의 모듈을 쉽게 작성할 수 있습니다.

0

이 작업을 시도 할 수 있습니다 :

var dataXml = '<?xml version="1.0" encoding="ISO-8859-1"?><note><from>Myself</from><to>World</to><message>Hello world!</message></note>';  
var url = 'data:text/xml;charset=utf8,' + encodeURIComponent(dataXml); 

window.open(url, '_blank'); 
window.focus(); 

데모 :

라이브 데모 : http://danml.com/iotest.html만큼 당신이 오래된 기계에 대해 걱정하지 않는 http://jsfiddle.net/YEAkP/3/

0

, 그것은 HTML5의 JS API를 사용하여 쉽게

<input type=file id=file onchange=pop(this)> 
<button onclick="download(data.value, file.files[0].name, file.files[0].type)">save</button> 
<br /> 

<textarea cols=110 rows=20 id=data ></textarea> 

<script src="http://danml.com/js/download.js" ></script> 
<script> 
function pop(file){ 
    var fr=new FileReader(); 
    fr.onload=function(e){data.value=e.target.result;} 
    fr.readAsText(file.files[0]); 
} 

</script> 
관련 문제