>  기사  >  웹 프론트엔드  >  thinkjs 파일 업로드 기능을 설명하는 예

thinkjs 파일 업로드 기능을 설명하는 예

小云云
小云云원래의
2017-12-23 10:46:062735검색

이 글에서는 주로 thinkjs 파일 업로드 기능을 소개합니다. ThinkJS는 향후 개발을 위한 Node.js 프레임워크로 기업 수준 개발을 매우 간단하고 효율적으로 만들기 위해 수많은 프로젝트 모범 사례를 통합합니다. 다음에는 이 글을 통해 thinkjs 파일 업로드 기능을 공유해드리도록 하겠습니다. 필요한 친구들이 참고하시면 도움이 될 것 같습니다.

기능

  • Koa 2 기반. 빠른 개발을 촉진하는 업데이트 메커니즘

  • 보다 우아한 async/await를 사용하여 비동기 문제를 처리하고 더 이상 */yield

  • 지원하지 않음 3.2에서 TypeScript 지원

  • architecture

  • thinkjs는 nodejs 기반의 MVC 프레임워크입니다. 이 기사에서는 thinkjs를 사용하여 백엔드를 작성합니다.
let formdata = new FormData($('form')[0]);
  $('#fileUpload').submit(function (e) {
    e.preventDefault();
    var data = new FormData($(this)[0]);
    $.ajax({
      url: '/themestore/upload/theme',
      type: 'POST',
      data: data,
      async: false, //发送同步请求(默认为TRUE)
      cache: false, //不同浏览器缓存中加载请求信息(默认为true)
      contentType: false, //内容编码格式
      processData: false,
/*要求为Boolean类型的参数,默认为true。默认情况下,发送的数据将被转换为对象(从技术角度来讲并非字符串)以配合默认内容类型"application/x-www-form-urlencoded"。如果要发送DOM树信息或者其他不希望转换的信息,请设置为false。*/
      success:function (res) {
        if(!res.errno) alert('上传成功!');
        else alert('上传失败,请重试!');
      }
    });
  });
  • 참고: async: false, 캐시: false, contentType: false, processData: false, 작성해야 합니다.

    또한 formdata 개체의 각 양식 항목에 해당하는 값은 자체 get 메서드를 사용하여 확인해야 합니다.
  • eg: data.get('file') //get의 매개변수는 양식 요소의 이름입니다.

    async themeAction(){
      let themefile = this.file('themename');
      let filepath = themefile.path;//为防止上传的时候因文件名重复而覆盖同名已上传文件,path是MD5方式产生的随机名称
      let uploadpath = think.RESOURCE_PATH + '/static/theme';
      think.mkdir(uploadpath);//创建该目录
      //提取出用 ‘/' 隔开的path的最后一部分。
      //let basename = path.basename(filepath);
      let basename = themefile.originalFilename;//因为本系统不允许上传同名主题,所以文件名就直接使用主题名
      //将上传的文件(路径为filepath的文件)移动到第二个参数所在的路径,并改为第二个参数的文件名。
      fs.renameSync(filepath, uploadpath + '/' + basename);
      themefile.path = uploadpath + '/' + basename;
      //读取压缩文件信息存数据库
      let zip = new JSZip();
      this.success(themefile);
     }
    관련 권장사항:

    jQuery는 이미지 파일을 업로드하기 전에 미리보기 기능을 구현합니다.

    PHP 파일 업로드 분석

    PHP 웹 페이지의 일반적인 파일 업로드 기능 구현 예

    위 내용은 thinkjs 파일 업로드 기능을 설명하는 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

    성명:
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.