> 웹 프론트엔드 > JS 튜토리얼 > AJAX를 통해 base64 업로드를 변환하는 jQuery 인코딩

AJAX를 통해 base64 업로드를 변환하는 jQuery 인코딩

php中世界最好的语言
풀어 주다: 2018-04-28 13:55:01
원래의
2252명이 탐색했습니다.

이번에는 AJAX를 통한 업로드를 위해 jQuery 인코딩을 base64로, AJAX를 통한 업로드를 위한 jQuery 인코딩을 가져왔습니다. 주의사항은 무엇인가요?

이 문서의 예에서는 jQuery가 파일을 base64로 인코딩하고 AJAX를 통해 업로드하는 방법을 설명합니다. 참고용으로 모든 사람과 공유하세요. 세부 사항은 다음과 같습니다.

AJAX를 사용하여 파일을 직접 업로드할 수는 없습니다. 일반적으로 비동기 파일 업로드 효과를 얻으려면 양식 제출 프로세스를 완료하려면 새 iframe을 만들어야 합니다.

이렇게 하면 더 나은 브라우저 호환성을 얻을 수 있지만 plupload와 같은 파일 업로드플러그인을 사용하더라도 코드의 양이 상대적으로 커집니다.

어떻게 유연성 수준을 달성할 수 있습니까? 양식 데이터의 일반 AJAX 제출과 마찬가지로 파일을 일반 양식 매개변수로 처리할 수 있다면 좋을 것입니다.

번번 영감이 떠올랐는데, javascriptFileReader 객체를 사용하여 파일을 base64로 인코딩한 후 서버로 전송하면 되지 않을까요~

시작해서 음식을 충분히 먹고 의류.

프런트엔드 base64는 파일을 인코딩하고 ajax를 통해 서버로 전송합니다:

<head>
  <meta charset="UTF-8">
</head>
<form onsubmit="return false;">
  <input type="hidden" name="file_base64" id="file_base64">
  <input type="file" id="fileup">
  <input type="submit" value="submit" onclick="$.post(&#39;./uploader.php&#39;, $(this).parent().serialize());">
</form>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<script>
$(document).ready(function(){
  $("#fileup").change(function(){
    var v = $(this).val();
    var reader = new FileReader();
    reader.readAsDataURL(this.files[0]);
    reader.onload = function(e){
      console.log(e.target.result);
      $('#file_base64').val(e.target.result);
    };
  });
});
</script>
로그인 후 복사

백엔드에서는 파일 데이터를 디코딩하고 저장합니다:

<?php
if (isset($_POST['file_base64'])){
  $file_base64 = $_POST['file_base64'];
  $file_base64 = preg_replace('/data:.*;base64,/i', '', $file_base64);
  $file_base64 = base64_decode($file_base64);
  file_put_contents('./file.save', $file_base64);
}
로그인 후 복사

이 기사의 사례를 읽고 나면 방법을 마스터했다고 믿습니다. . 더 흥미로운 정보를 보려면 다른 PHP 중국어 웹사이트 관련 기사를 주목하세요!

추천 도서:

vuex에서 mapState 및 mapGetters 사용에 대한 자세한 설명

Angular에서 페이지 부분 인쇄를 구현하는 단계에 대한 자세한 설명

위 내용은 AJAX를 통해 base64 업로드를 변환하는 jQuery 인코딩의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿