pdf上传后,使用pdf.js , <iframe v-if="newType === 'pdf'" id="newpdf" :src="newSrc"></iframe>,如何获取上传后的newSrc,并赋值
时间: 2024-09-21 22:07:13 浏览: 42
在Vue.js中,当你使用`pdf.js`渲染PDF并在`<iframe>`元素中显示上传的PDF文件时,通常你会在处理完文件上传并成功解析为URL后更新`newSrc`变量。这里是一个简单的步骤:
1. **上传文件**: 用户通过表单或其他方式选择PDF文件,你可以使用HTML5的File API来处理文件上传,比如`FormData`或`input[type=file]`。
```html
<input type="file" @change="handleFileUpload($event)">
```
```javascript
methods: {
handleFileUpload(event) {
const file = event.target.files[0];
// ... 进行文件验证和处理
},
}
```
2. **服务器端处理**: 将文件上传到服务器,服务器会返回一个新的URL,这一步可能涉及到后端代码。例如,如果你使用Node.js和Express,可以这样做:
```javascript
// server.js 或类似
router.post('/upload', (req, res) => {
const file = req.file;
// 对文件进行处理,然后保存并生成新的URL
const newUrl = saveAndGenerateUrl(file);
res.json({ url: newUrl });
});
```
3. **更新新源`: 在接收到服务器响应后,将新的URL赋值给`newSrc`。
```javascript
async function handleFileUpload(event) {
const file = event.target.files[0];
try {
const response = await axios.post('/upload', { file });
this.newSrc = response.data.url; // 使用axios或其他HTTP库发送异步请求
} catch (error) {
console.error('Error uploading PDF:', error);
}
}
```
现在,`newSrc`应该包含了上传PDF后的URL。当`newType`为'pdf'时,`<iframe>`将显示这个PDF。
阅读全文