변경시 선택한 파일의 전체 경로를 얻는 방법 자바 스크립트를 사용하여 jquery-ajax?
파일을 사용하여 파일을 선택하는 동안 파일의 전체 경로를 얻는 방법 <input type=‘file’>
<input type="file" id="fileUpload">
<script type="text/javascript">
function getFilePath(){
$('input[type=file]').change(function () {
var filePath=$('#fileUpload').val();
});
}
</script>
그러나 filePath var에는 only name
선택된 파일이 포함되어 있습니다 full path
.
인터넷에서 검색했지만 보안상의 이유로 브라우저 (FF, 크롬)는 파일 이름 만 제공하는 것 같습니다.
선택한 파일의 전체 경로를 얻는 다른 방법이 있습니까?
보안상의 이유로 브라우저는이를 허용하지 않습니다. 즉, 브라우저의 JavaScript는 파일 시스템에 액세스 할 수 없지만 HTML5 파일 API를 사용하면 Firefox 만 mozFullPath
특성을 제공 하지만 값을 얻으려고하면 빈 문자열을 리턴합니다.
$('input[type=file]').change(function () {
console.log(this.files[0].mozFullPath);
});
따라서 시간을 낭비하지 마십시오.
편집 : 파일을 읽는 데 파일 경로가 필요한 경우 FileReader API를 대신 사용할 수 있습니다 . 다음은 SO에 대한 관련 질문입니다. 이미지를 업로드하기 전에 미리 봅니다.
이 시도:
정확한 경로가 아닌 임시 경로를 제공합니다.이 jsfiddle 예제에서 선택한 이미지를 표시하려면이 스크립트를 사용할 수 있습니다 (다른 파일뿐만 아니라 selectng 이미지로 시도).
코드는 다음과 같습니다.
HTML :-
<input type="file" id="i_file" value="">
<input type="button" id="i_submit" value="Submit">
<br>
<img src="" width="200" style="display:none;" />
<br>
<div id="disp_tmp_path"></div>
JS :-
$('#i_file').change( function(event) {
var tmppath = URL.createObjectURL(event.target.files[0]);
$("img").fadeIn("fast").attr('src',URL.createObjectURL(event.target.files[0]));
$("#disp_tmp_path").html("Temporary Path(Copy it and try pasting it in browser address bar) --> <strong>["+tmppath+"]</strong>");
});
정확히 당신이 찾고있는 것이 아니지만 어딘가에 도움이 될 수 있습니다.
보안 문제로 인해 브라우저에서이를 허용하지 않습니다.
input type = file 객체를 사용하여 파일을 선택한 경우 value 속성 값은 웹 페이지를 표시하는 데 사용되는 보안 영역에 대한 "서버에 파일을 업로드 할 때 로컬 디렉토리 경로 포함"보안 설정의 값에 따라 달라집니다 입력 객체를 포함합니다.
선택한 파일의 정규화 된 파일 이름은이 설정이 활성화 된 경우에만 반환됩니다. 이 설정을 사용하지 않으면 Internet Explorer 8은 부적절한 정보 유출을 방지하기 위해 로컬 드라이브와 디렉터리 경로를 문자열 C : \ fakepath \로 바꿉니다.
및 기타
);
이벤트 변경 기능 종료시이를 놓쳤습니다 .
또한 변경 이벤트를위한 함수를 생성하지 말고 아래와 같이 사용하십시오.
<script type="text/javascript">
$(function()
{
$('#fileUpload').on('change',function ()
{
var filePath = $(this).val();
console.log(filePath);
});
});
</script>
You can't. Security stops you for knowing anything about the filing system of the client computer - it may not even have one! It could be a MAC, a PC, a Tablet or an internet enabled fridge - you don't know, can't know and won't know. And letting you have the full path could give you some information about the client - particularly if it is a network drive for example.
In fact you can get it under particular conditions, but it requires an ActiveX control, and will not work in 99.99% of circumstances.
You can't use it to restore the file to the original location anyway (as you have absolutely no control over where downloads are stored, or even if they are stored) so in practice it is not a lot of use to you anyway.
Did you mean this?
$('#i_file').change( function(event) {
var tmppath = URL.createObjectURL(event.target.files[0]);
$("img").fadeIn("fast").attr('src',tmppath);
});
You can use the following code to get a working local URL for the uploaded file:
<script type="text/javascript">
var path = (window.URL || window.webkitURL).createObjectURL(file);
console.log('path', path);
</script>
You can, if uploading an entire folder is an option for you
<input type="file" webkitdirectory directory multiple/>
change event will contain:
.target.files[...].webkitRelativePath: "FOLDER/FILE.ext"
you should never do so... and I think trying it in latest browsers is useless(from what I know)... all latest browsers on the other hand, will not allow this...
some other links that you can go through, to find a workaround like getting the value serverside, but not in clientside(javascript)
Full path from file input using jQuery
How to get the file path from HTML input form in Firefox 3
file element has and array call files
it contain all necessary stuff you need
var file = document.getElementById("upload");
file.addEventListener("change", function() {
for (var i = 0; i < file.files.length; i++) {
console.log(file.files[i].name);
}
}, false);
You can get the full path of the selected file to upload only by IE11 and MS Edge.
var fullPath = Request.Form.Files["myFile"].FileName;
'Programming' 카테고리의 다른 글
SQL 키워드처럼 보이는 SQL 열 이름을 처리하는 방법은 무엇입니까? (0) | 2020.05.05 |
---|---|
Go는 어떻게 그렇게 빨리 컴파일됩니까? (0) | 2020.05.05 |
힘내 오류 : src refspec 마스터가 (0) | 2020.04.25 |
Django 쉘에서 Python 스크립트를 실행하는 방법은 무엇입니까? (0) | 2020.04.25 |
Android에서 활동 제목을 변경하는 방법은 무엇입니까? (0) | 2020.04.25 |