我正在尝试用文件键上传一个HEIC文件。我应该指定哪种文件类型?
现在我有这个:
accepted-file-types="image/jpeg, image/png, image/gif, image/jpg"
我在文件里找不到任何关于这个的东西,我的实验也不起作用。
下面是我试图上传的测试文件:
https://github.com/tigranbs/test-heic-images/raw/master/image1.heic
感谢@rik提供的指针。下面是一些使用VUE中的filepond完成此操作的代码。感觉有点怪怪的,但做的很好。
接受Image/HEIC内容类型并添加自定义验证器:
<file-pond
v-if="supported"
ref="pond"
name="photo"
:allow-multiple="multiple"
accepted-file-types="image/jpeg, image/png, image/gif, image/jpg, image/heic"
:file-validate-type-detect-type="validateType"
:files="myFiles"
image-resize-target-width="800"
image-resize-target-height="800"
image-crop-aspect-ratio="1"
label-idle="Drag & Drop photos or <span class="btn btn-white ction"> Browse </span>"
:server="{ process, revert, restore, load, fetch }"
@init="photoInit"
@processfile="processed"
@processfiles="allProcessed"
/>
然后在验证器中检查文件名,以处理未设置正确MIME类型的浏览器:
validateType(source, type) {
const p = new Promise((resolve, reject) => {
if (source.name.toLowerCase().indexOf('.heic') !== -1) {
resolve('image/heic')
} else {
resolve(type)
}
})
return p
}
然后在进程回调中,找到HEIC文件,并使用heic2any将其转换为PNG,并在上载中使用该数据。
async process(fieldName, file, metadata, load, error, progress, abort) {
await this.$store.dispatch('compose/setUploading', true)
const data = new FormData()
const fn = file.name.toLowerCase()
if (fn.indexOf('.heic') !== -1) {
const blob = file.slice(0, file.size, 'image/heic')
const png = await heic2any({ blob })
data.append('photo', png, 'photo')
} else {
data.append('photo', file, 'photo')
}
data.append(this.imgflag, true)
data.append('imgtype', this.imgtype)
data.append('ocr', this.ocr)
data.append('identify', this.identify)
if (this.msgid) {
data.append('msgid', this.msgid)
} else if (this.groupid) {
data.append('groupid', this.groupid)
}
const ret = await this.$axios.post(process.env.API + '/image', data, {
headers: {
'Content-Type': 'multipart/form-data'
},
onUpLoadProgress: e => {
progress(e.lengthComputable, e.loaded, e.total)
}
})
if (ret.status === 200 && ret.data.ret === 0) {
this.imageid = ret.data.id
this.imagethumb = ret.data.paththumb
this.image = ret.data.path
if (this.ocr) {
this.ocred = ret.data.ocr
}
if (this.identify) {
this.identified = ret.data.items
}
load(ret.data.id)
} else {
error(
ret.status === 200 ? ret.data.status : 'Network error ' + ret.status
)
}
return {
abort: () => {
// We don't need to do anything - the server will tidy up hanging images.
abort()
}
}
},
然后,服务器很高兴地没有意识到原始文件是HEIC的,一切都正常进行。
我有一个问题和一个关于文件绑定的问题。 我目前正在结合使用Doka和FilePond,并且想要加载一个初始图像,我通过添加了该图像。files:[]带有文件所在服务器的url。 文件加载工作正常,除了一件事: 我正在使用文件类型验证,如果我正在使用url加载初始文件,那么文件类型将始终是text/html,这将导致无法加载图像,并且我无法使用doka更改它。 如果我将text/html添加到文件类
问题内容: 好的,我一直在遇到aws或某些问题,以至于我似乎无法使mod_rewrite正常工作。 仅出于测试目的,我做了以下工作: 1使用AWS控制台从向导部署新的AMI 64位实例 2百胜装的apache 3编辑了/etc/httpd/conf/httpd.conf: 好像 4确保 在文件中且未注释。 5重启apache: 6创建了两个新文件: 包含: 包含: 7.创建文件: 包含(共TOTA
问题内容: 如何在fileinputstream中输入要发送的文件? 我在Fileinputstream中输入了url,但是URL的输出是错误的,因为链接斜杠像-从/到\一样向后翻转,而双斜杠//只能是一个斜杠和一个反斜杠。要执行fileinputstream吗?如果不是,您能告诉我应该使用什么代替fileinputstream吗? 问题答案: 如果您要获取从URL检索数据的,则使用方法将返回,可
属性文件如何与Apache Camel一起使用,以引用可配置的属性。例如,如果有从文件夹读取文件的路由,那么如何在属性文件中配置该文件夹位置。我正在使用JavaDSL。
FilePond 是一个 JavaScript 文件上传库,可以上传任何内容,并能够优化图像以加快上传速度,同时提供顺畅的用户体验。 FilePond 适配器可用于 React、Vue,Angular 和 jQuery,压缩包大小仅为 21 KB。 特性: 接受目录、文件、blob、本地 URL、远程 URL 和数据 URI。 可删除文件、选择文件系统、复制和粘贴文件,或使用 API 添加文件
TranslationFoldingBuilder.kt 我的问题是,对于Kotlin文件,根本没有调用buildFoldRegions()。