@@ -54,6 +54,18 @@ const KlingPage = () => {
5454 const [ taskData , setTaskData ] = useState < KlingTask [ ] > ( [ ] ) ;
5555 const [ errorData , setErrorData ] = useState < any > ( null ) ;
5656
57+ const beforeUploadImage = ( file : File ) => {
58+ return beforeUpload (
59+ file ,
60+ [ - 1 , 10 ] ,
61+ [
62+ [ 300 , 300 ] ,
63+ [ - 1 , - 1 ] ,
64+ ] ,
65+ ( msg ) => message . error ( msg ) ,
66+ ) ;
67+ } ;
68+
5769 // 更新任务数据
5870 const updateTaskData = ( data : KlingTask ) => {
5971 // 检查本地 id 是否已存在
@@ -408,7 +420,6 @@ const KlingPage = () => {
408420 name = "image"
409421 label = "Image"
410422 accept = ".jpg,.jpeg,.png"
411- max = { 1 }
412423 rules = { [ { required : true } ] }
413424 tooltip = {
414425 < >
@@ -417,57 +428,9 @@ const KlingPage = () => {
417428 < p > 图片文件大小不能超过10MB,图片分辨率不小于300*300px</ p >
418429 </ >
419430 }
420- fieldProps = { {
421- listType : "picture-card" ,
422- beforeUpload : async ( file ) =>
423- await beforeUpload (
424- file ,
425- [ - 1 , 10 ] ,
426- [
427- [ 300 , 300 ] ,
428- [ - 1 , - 1 ] ,
429- ] ,
430- ( msg ) => message . error ( msg ) ,
431- ) ,
432- ...( uploadType === "url" && {
433- customRequest : async ( options ) => {
434- try {
435- const fileUrl = await uploadToGetFileUrl ( options . file as File ) ;
436- if ( fileUrl ) {
437- options . onSuccess ?.( fileUrl , options . file ) ;
438- } else {
439- options . onError ?.( new Error ( "上传失败" ) , options . file ) ;
440- }
441- } catch ( error ) {
442- console . error ( "Upload error:" , error ) ;
443- options . onError ?.( error as Error , options . file ) ;
444- }
445- } ,
446- onChange : ( info ) => {
447- if ( info . file . status === "done" ) {
448- const fileUrl = info . file . response ;
449- if ( fileUrl && typeof fileUrl === "string" ) {
450- info . file . url = fileUrl ;
451- } else {
452- info . file . status = "error" ;
453- message . error ( "上传失败" ) ;
454- }
455- } else if ( info . file . status === "error" ) {
456- message . error ( "上传失败" ) ;
457- }
458- } ,
459- } ) ,
460- } }
461- transform = { ( value : Array < { thumbUrl : string ; url : string } > | undefined ) => {
462- if ( ! value ) {
463- return undefined ;
464- }
465- if ( uploadType === "base64" ) {
466- return value ?. [ 0 ] ?. thumbUrl . replace ( / ^ d a t a : i m a g e \/ \w + ; b a s e 6 4 , / , "" ) ;
467- } else {
468- return value ?. [ 0 ] ?. url ;
469- }
470- } }
431+ { ...( ( uploadType === "url"
432+ ? appConfig . getProFormUploadConfig ( "url" , 1 , "picture-card" , false , beforeUploadImage )
433+ : appConfig . getProFormUploadConfig ( "base64" , 1 , "picture-card" , false , beforeUploadImage ) ) as any ) }
471434 />
472435
473436 < ProFormUploadButton
@@ -482,57 +445,9 @@ const KlingPage = () => {
482445 < p > 图片文件大小不能超过10MB,图片分辨率不小于300*300px</ p >
483446 </ >
484447 }
485- fieldProps = { {
486- listType : "picture-card" ,
487- beforeUpload : async ( file ) =>
488- await beforeUpload (
489- file ,
490- [ - 1 , 10 ] ,
491- [
492- [ 300 , 300 ] ,
493- [ - 1 , - 1 ] ,
494- ] ,
495- ( msg ) => message . error ( msg ) ,
496- ) ,
497- ...( uploadType === "url" && {
498- customRequest : async ( options ) => {
499- try {
500- const fileUrl = await uploadToGetFileUrl ( options . file as File ) ;
501- if ( fileUrl ) {
502- options . onSuccess ?.( fileUrl , options . file ) ;
503- } else {
504- options . onError ?.( new Error ( "上传失败" ) , options . file ) ;
505- }
506- } catch ( error ) {
507- console . error ( "Upload error:" , error ) ;
508- options . onError ?.( error as Error , options . file ) ;
509- }
510- } ,
511- onChange : ( info ) => {
512- if ( info . file . status === "done" ) {
513- const fileUrl = info . file . response ;
514- if ( fileUrl && typeof fileUrl === "string" ) {
515- info . file . url = fileUrl ;
516- } else {
517- info . file . status = "error" ;
518- message . error ( "上传失败" ) ;
519- }
520- } else if ( info . file . status === "error" ) {
521- message . error ( "上传失败" ) ;
522- }
523- } ,
524- } ) ,
525- } }
526- transform = { ( value : Array < { thumbUrl : string ; url : string } > | undefined ) => {
527- if ( ! value ) {
528- return undefined ;
529- }
530- if ( uploadType === "base64" ) {
531- return value ?. [ 0 ] ?. thumbUrl . replace ( / ^ d a t a : i m a g e \/ \w + ; b a s e 6 4 , / , "" ) ;
532- } else {
533- return value ?. [ 0 ] ?. url ;
534- }
535- } }
448+ { ...( ( uploadType === "url"
449+ ? appConfig . getProFormUploadConfig ( "url" , 1 , "picture-card" , false , beforeUploadImage )
450+ : appConfig . getProFormUploadConfig ( "base64" , 1 , "picture-card" , false , beforeUploadImage ) ) as any ) }
536451 />
537452 </ ProForm . Group >
538453 < Divider />
0 commit comments