马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
一、前端实现方案(React + Antd)
- import React, {
- useState } from 'react';
- import {
- Upload, Button, Image, Carousel } from 'antd';
- import {
- UploadOutlined } from '@ant-design/icons';
-
- const OFDUploadPreview = () => {
-
- const [previewImages, setPreviewImages] = useState([]);
-
- // 自定义上传方法
- const customRequest = async ({
- file, onSuccess }) => {
-
- const formData = new FormData();
- formData.append('file', file);
-
- try {
-
- const response = await fetch('http://localhost:8080/convert-ofd', {
-
- method: 'POST',
- body: formData
- });
-
- const result = await response.json();
- if (result.success) {
-
- setPreviewImages(result.images); // 接收转换后的图片数组
- onSuccess(result, file);
- }
- } catch (error) {
-
- console.error('Upload failed:', error);
- }
- };
-
- return (
- <div style={
- {
- padding: 24 }}>
- <Upload
- customRequest={
- customRequest}
- accept=".ofd"
- showUploadList={
- false}
- >
- <Button icon={
- <UploadOutlined />}>上传OFD文件</Button>
- </Upload>
-
- {
- /* 多页预览 */}
- {
- previewImages.length > 0 && (
- <div style={
- {
- marginTop: 20 }}>
- <Carousel dotPosition="top">
- {
- previewImages.map((img, index) => (
- <div key={
- index}>
- <Image
- src={
- `data:image/png;base64,${
- img}`}
- alt={
- `Page ${
- index + 1}`}
- style={
- {
- maxWidth: '100%' }}
- />
- </div>
- ))}
- </Carousel>
- </div>
- )}
- </div>
- );
- };
-
- export default OFDUploadPreview;
复制代码 二、后端Java实现方案(Spring Boot)
- @RestController
- @RequestMapping("/convert-ofd")
- public class OfdConverterController {
-
-
- @PostMapping(consumes = MediaType
复制代码 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |