iView Uploadコンポーネントを使ってマニュアルで画像をアップロードすることができます.
7210 ワード
過去には、ブラウザは、画像を含むローカルのファイルを読み込むことができませんでした.したがって、私たちは一つの画像をプレビューする必要があります.まずサービスに転送してから、サービス側でurlアドレスを返して、プレビュー画像の機能を達成します.現在、標準が改善されつつあるにつれて、JavaScriptのAPIはますます多くなりました.直接にローカルファイルを読み込むことによって、私たちが見たいテキストや写真を読み込むことができます.
Uploadコンポーネントの参考文献:https://www.iviewui.com/components/upload
ドキュメントからの参照コード:
Uploadコンポーネントの参考文献:https://www.iviewui.com/components/upload
ドキュメントからの参照コード:
![](item.url)
![]('https://o5wwk8baw.qnssl.com/' + imgName + '/large')
export default {
data () {
return {
defaultList: [
{
'name': 'a42bdcc1178e62b4694c830f028db5c0',
'url': 'https://o5wwk8baw.qnssl.com/a42bdcc1178e62b4694c830f028db5c0/avatar'
},
{
'name': 'bc7521e033abdd1e92222d733590f104',
'url': 'https://o5wwk8baw.qnssl.com/bc7521e033abdd1e92222d733590f104/avatar'
}
],
imgName: '',
visible: false,
uploadList: []
}
},
methods: {
handleView (name) {
this.imgName = name;
this.visible = true;
},
handleRemove (file) {
// upload
const fileList = this.$refs.upload.fileList;
this.$refs.upload.fileList.splice(fileList.indexOf(file), 1);
},
handleSuccess (res, file) {
// , url
file.url = 'https://o5wwk8baw.qnssl.com/7eb99afb9d5f317c912f08b5212fd69a/avatar';
file.name = '7eb99afb9d5f317c912f08b5212fd69a';
},
handleFormatError (file) {
this.$Notice.warning({
title: ' ',
desc: ' ' + file.name + ' , jpg png 。'
});
},
handleMaxSize (file) {
this.$Notice.warning({
title: ' ',
desc: ' ' + file.name + ' , 2M。'
});
},
handleBeforeUpload () {
const check = this.uploadList.length < 5;
if (!check) {
this.$Notice.warning({
title: ' 5 。'
});
}
return check;
}
},
mounted () {
this.uploadList = this.$refs.upload.fileList;
}
}
自分で手動アップロードを実現します.
![](item.url)
export default {
methods: {
data(){
return {
uploadList: []
}
},
handleBeforeUpload(file) {
// FileReader
let reader = new FileReader()
// readAsDataURL Blob File
// ,readyState DONE,loadend , result :URL( base64 )
// URL
reader.readAsDataURL(file)
const _this = this
reader.onloadend = function (e) {
file.url = reader.result
_this.uploadList.push(file)
}
},
handleRemove(file) {
this.uploadList.splice(this.uploadList.indexOf(file), 1)
},
handleFormatError(file) {
this.$Notice.warning({
title: ' ',
desc: ' ' + file.name + ' , jpg png 。'
})
},
handleMaxSize(file) {
this.$Notice.warning({
title: ' ',
desc: ' ' + file.name + ' , 2M。'
})
}
}
}