@@ -39,33 +39,6 @@ export default function OptsBar() {
3939
4040 const [ uploaded , setUploaded ] = useState ( false )
4141
42- function handleFileUploads ( id ) {
43- let paste = pasteStore . getPaste ( ) ;
44- let FD = new FormData ( ) ;
45-
46- for ( const [ index , element ] of paste . entries ( ) ) {
47- if ( element [ 'image' ] === null || element [ 'image' ] == undefined ) {
48- continue
49- }
50- else {
51- let name = `${ index } -${ id } -${ element [ 'image' ] . name } `
52- FD . append ( 'images' , element [ 'image' ] , name )
53- }
54-
55- if ( FD . entries ( ) . next ( ) . done === true ) {
56- setUploaded ( true )
57- return
58- }
59- }
60-
61- axios ( {
62- url : `${ config [ 'site' ] [ 'backend_site' ] } /images/upload/${ id } ` ,
63- method : 'PUT' ,
64- data : FD ,
65- } ) . then ( ( response ) => {
66- setUploaded ( true ) ;
67- } )
68- }
6942
7043 const personal = [
7144 {
@@ -164,32 +137,49 @@ export default function OptsBar() {
164137
165138 setSaving ( true ) ;
166139 let files = [ ] ;
140+ let FD = new FormData ( ) ;
167141
168142 for ( let file of paste ) {
169- files . push ( { filename : file [ "title" ] , content : file [ "content" ] } ) ;
143+ if ( file [ 'image' ] === null || file [ 'image' ] == undefined ) {
144+ files . push ( { filename : file [ "title" ] , content : file [ "content" ] } ) ;
145+ }
146+ else {
147+ files . push ( { filename : file [ "title" ] , content : file [ "content" ] , attachment : file [ 'image' ] . name } ) ;
148+ FD . append ( 'images' , file [ 'image' ] , file [ 'image' ] . name )
149+ }
170150 }
171151
152+ let data = { "files" : files , "password" : paste . password }
153+ FD . append ( 'data' , JSON . stringify ( data ) )
154+
172155 const headers = {
173- "Content-Type" : "application/json " ,
156+ "Content-Type" : "multipart/form-data " ,
174157 } ;
158+
175159 if ( ! ! cookieCutter . get ( "auth" ) ) {
176160 headers [ "Authorization" ] = cookieCutter . get ( "auth" ) ;
177161 }
178- fetch ( config [ "site" ] [ "backend_site" ] + "/paste" , {
179- method : "PUT" ,
162+
163+ axios ( {
164+ url : config [ "site" ] [ "backend_site" ] + "/rich-paste" ,
165+ method : "POST" ,
180166 headers : headers ,
181- body : JSON . stringify ( { files : files , password : paste . password } ) ,
167+ data : FD ,
182168 } )
183169 . then ( ( r ) => {
184170 if ( r . status === 201 ) {
185- return r . json ( ) ;
171+ return r . data ;
186172 }
187173 setSaving ( false ) ;
174+ setUploaded ( false ) ;
175+
188176 console . error ( r . status ) ;
177+ console . log ( r . data )
189178 } )
190179 . then ( ( d ) => {
180+ setUploaded ( true ) ;
181+
191182 if ( d && d . id ) {
192- handleFileUploads ( d . id )
193183
194184 let path = `/${ d . id } ` ;
195185 let full = window . location . origin + path ;
@@ -198,7 +188,7 @@ export default function OptsBar() {
198188 setSaveSuccessToast ( d . id ) ;
199189 setTimeout ( ( ) => {
200190 router . push ( path ) ;
201- } , 6000 ) ;
191+ } , 3000 ) ;
202192 } ) ;
203193 }
204194 } ) ;
0 commit comments