vue中用H5实现文件上传的方法

1.图片上传

  <img v-if="personInfo.photoUrl" :src="headPreFix + personInfo.photoUrl" style="height:126px;max-width:133px;margin: 25px 0;">
              <img v-else src="../../assets/default.png" style="height:126px;max-width:133px;margin: 25px 0;">
<form id="form1" enctype="multipart/form-data" method="post" action="">
                <div style="height:0px; overflow:hidden; position:absolute;">
                  <input type="file" tabIndex="-1" accept="image/jpeg,image/x-png,image/gif" name="file" style="padding-left:10px" id="fileToUpload" @change="fileSelected()"/>
                </div>
                <button type="button" class="btn btn-default btn-xs" onclick="document.getElementById('fileToUpload').click()">上传</button>
                <button type="button" class="btn btn-default btn-xs" @click="deleteImg">删除</button>
              </form>
// 上传图片
    'fileSelected': function () {
      var that = this
      let files = document.getElementById('fileToUpload').files
      if (files && files.length) {
        var fd = new FormData()
        fd.append('file', files[0])
        var reader = new window.FileReader()
        // 图片大小 100KB
        var fileSize = 100 * 1024
        reader.readAsDataURL(files[0])
        reader.onload = function (e) {
          if (e.target.result.length > fileSize) {
            that.$dispatch('show-alert', 'msg_1016')
            document.getElementById('fileToUpload').value = ''
          } else {
            var xhr = new XMLHttpRequest()
            xhr.addEventListener('load', that.uploadComplete, false)
            xhr.open('POST', that.$root.appBaseUrl + 'fileUpload/singleFileUpload')
            xhr.send(fd)
          }
        }
      }
    },
    // 上传成功
    'uploadComplete': function (evt) {
      this.personInfo.photoUrl = (evt.target.responseText).replace('\\', '/')
      document.getElementById('fileToUpload').value = ''
    },
    // 删除图片
    'deleteImg': function () {
      this.personInfo.photoUrl = ''
    },
computed: {
    headPreFix: function () {
      let params = window.localdicts.dicts.ph_params.systemParam
      if (params.storageType === 1) {
        return params.storageUrl
      }
      return this.$root.appBaseUrl
    }
}

 

转载于:https://my.oschina.net/yuxiaoyu123/blog/909421

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue H5可以通过使用第三方库来实现PDF文件的预览。一个常用的库是pdf.js,它是一个由Mozilla开发的JavaScript库,用于在网页上渲染PDF文件。 以下是实现PDF文件预览的步骤: 1. 安装pdf.js库:可以通过npm或者直接引入CDN来安装pdf.js库。 2. 创建一个Vue组件:在Vue项目中创建一个组件,用于显示PDF文件。 3. 引入pdf.js库:在组件中引入pdf.js库。 4. 加载PDF文件:使用pdf.js提供的API,加载需要预览的PDF文件。 5. 渲染PDF文件:使用pdf.js提供的API,将PDF文件渲染到页面上。 下面是一个简单的示例代码: ```vue <template> <div> <canvas ref="pdfCanvas"></canvas> </div> </template> <script> import pdfjsLib from 'pdfjs-dist' export default { mounted() { this.loadPDF() }, methods: { async loadPDF() { const pdfUrl = 'path/to/your/pdf/file.pdf' const loadingTask = pdfjsLib.getDocument(pdfUrl) const pdf = await loadingTask.promise const page = await pdf.getPage(1) const canvas = this.$refs.pdfCanvas const context = canvas.getContext('2d') const viewport = page.getViewport({ scale: 1 }) canvas.height = viewport.height canvas.width = viewport.width const renderContext = { canvasContext: context, viewport: viewport } await page.render(renderContext) } } } </script> ``` 在上面的示例中,我们使用了pdf.js库来加载和渲染PDF文件。首先,我们通过`getDocument`方法加载PDF文件,然后获取第一页的内容,并将其渲染到一个canvas元素上。 请注意,上述示例仅演示了基本的PDF文件预览功能,你可以根据自己的需求进行扩展和定制。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值