Simple File Upload not working with Vue.js & Flask framework2019 Community Moderator ElectionHow can I upload files asynchronously?jQuery Ajax File UploadHow to serve static files in Flaskexpress-http-proxy Error HandlingIs there a way to build vue.js components without using the npm server?Passing credentials securely between two python applicationsUnable to render create-react-app boilerplate views from Flask backendAngular 4 frontend with python flask backend how to render simple index pagePython + Flask Image Upload “No file part”Internal Server Error, rather than raised AuthError response from Auth0

Why do we say 'Pairwise Disjoint', rather than 'Disjoint'?

Help! My Character is too much for her story!

Insult for someone who "doesn't know anything"

When an outsider describes family relationships, which point of view are they using?

The (Easy) Road to Code

Having the player face themselves after the mid-game

Are E natural minor and B harmonic minor related?

Difference between `nmap local-IP-address` and `nmap localhost`

Which country has more?

Too soon for a plot twist?

Was it really inappropriate to write a pull request for the company I interviewed with?

Trocar background-image com delay via jQuery

Is there stress on two letters on the word стоят

Are all players supposed to be able to see each others' character sheets?

If sound is a longitudinal wave, why can we hear it if our ears aren't aligned with the propagation direction?

What can I do if someone tampers with my SSH public key?

How do I increase the number of TTY consoles?

How can a demon take control of a human body during REM sleep?

How to install round brake pads

Is this Paypal Github SDK reference really a dangerous site?

Can I negotiate a patent idea for a raise, under French law?

(Codewars) Linked Lists-Sorted Insert

Sampling from Gaussian mixture models, when are the sampled data independent?

Under what conditions can the right to be silence be revoked in the USA?



Simple File Upload not working with Vue.js & Flask framework



2019 Community Moderator ElectionHow can I upload files asynchronously?jQuery Ajax File UploadHow to serve static files in Flaskexpress-http-proxy Error HandlingIs there a way to build vue.js components without using the npm server?Passing credentials securely between two python applicationsUnable to render create-react-app boilerplate views from Flask backendAngular 4 frontend with python flask backend how to render simple index pagePython + Flask Image Upload “No file part”Internal Server Error, rather than raised AuthError response from Auth0










0















I'm having issues uploading an image via FormData from Vue.js to my Python flask backend. I have a node.js server which handles Vue.js (Nuxt) so I can do SSR. The minimal stack setup:



Vue.js (Nuxt) frontend --> node.js proxy server ---> Python flask backend



HandleFile.vue



const formData = new FormData()
formData.append('image', file)
formData.append('data', JSON.stringify(upcomingReq))

const resp = await this.$axios.post('/api/receive-file', formData,
headers:
'Content-Type': 'multipart/form-data'

)



server.js (just a snippet of the proxy function from the node.js server which serves the nuxt app)



app.use('/api', proxy(
target: API_URI,
changeOrigin: true,
// logLevel: 'debug',
onProxyReq(proxyReq, req, res)
if (req.session.authToken)
proxyReq.setHeader('Authorization', 'Bearer ' + req.session.authToken)

,
))



app.py (the controller that receives the file)



@v1.route('/api/receive-file', methods=['GET', 'POST'])
@auth_required
def receive_file():
print('in here')
return jsonify('hi': 'ok')



This is the error I'm getting:



enter image description here
(3000 is the Node server, 5000 is the flask server)



Also, Flask is returning a 200 as if everything went ok. And upon inspecting the Flask request, the file is in there without a problem.



I'm not sure why it seems the response is failing, or as the error says, the pipe becomes broken.










share|improve this question


























    0















    I'm having issues uploading an image via FormData from Vue.js to my Python flask backend. I have a node.js server which handles Vue.js (Nuxt) so I can do SSR. The minimal stack setup:



    Vue.js (Nuxt) frontend --> node.js proxy server ---> Python flask backend



    HandleFile.vue



    const formData = new FormData()
    formData.append('image', file)
    formData.append('data', JSON.stringify(upcomingReq))

    const resp = await this.$axios.post('/api/receive-file', formData,
    headers:
    'Content-Type': 'multipart/form-data'

    )



    server.js (just a snippet of the proxy function from the node.js server which serves the nuxt app)



    app.use('/api', proxy(
    target: API_URI,
    changeOrigin: true,
    // logLevel: 'debug',
    onProxyReq(proxyReq, req, res)
    if (req.session.authToken)
    proxyReq.setHeader('Authorization', 'Bearer ' + req.session.authToken)

    ,
    ))



    app.py (the controller that receives the file)



    @v1.route('/api/receive-file', methods=['GET', 'POST'])
    @auth_required
    def receive_file():
    print('in here')
    return jsonify('hi': 'ok')



    This is the error I'm getting:



    enter image description here
    (3000 is the Node server, 5000 is the flask server)



    Also, Flask is returning a 200 as if everything went ok. And upon inspecting the Flask request, the file is in there without a problem.



    I'm not sure why it seems the response is failing, or as the error says, the pipe becomes broken.










    share|improve this question
























      0












      0








      0








      I'm having issues uploading an image via FormData from Vue.js to my Python flask backend. I have a node.js server which handles Vue.js (Nuxt) so I can do SSR. The minimal stack setup:



      Vue.js (Nuxt) frontend --> node.js proxy server ---> Python flask backend



      HandleFile.vue



      const formData = new FormData()
      formData.append('image', file)
      formData.append('data', JSON.stringify(upcomingReq))

      const resp = await this.$axios.post('/api/receive-file', formData,
      headers:
      'Content-Type': 'multipart/form-data'

      )



      server.js (just a snippet of the proxy function from the node.js server which serves the nuxt app)



      app.use('/api', proxy(
      target: API_URI,
      changeOrigin: true,
      // logLevel: 'debug',
      onProxyReq(proxyReq, req, res)
      if (req.session.authToken)
      proxyReq.setHeader('Authorization', 'Bearer ' + req.session.authToken)

      ,
      ))



      app.py (the controller that receives the file)



      @v1.route('/api/receive-file', methods=['GET', 'POST'])
      @auth_required
      def receive_file():
      print('in here')
      return jsonify('hi': 'ok')



      This is the error I'm getting:



      enter image description here
      (3000 is the Node server, 5000 is the flask server)



      Also, Flask is returning a 200 as if everything went ok. And upon inspecting the Flask request, the file is in there without a problem.



      I'm not sure why it seems the response is failing, or as the error says, the pipe becomes broken.










      share|improve this question














      I'm having issues uploading an image via FormData from Vue.js to my Python flask backend. I have a node.js server which handles Vue.js (Nuxt) so I can do SSR. The minimal stack setup:



      Vue.js (Nuxt) frontend --> node.js proxy server ---> Python flask backend



      HandleFile.vue



      const formData = new FormData()
      formData.append('image', file)
      formData.append('data', JSON.stringify(upcomingReq))

      const resp = await this.$axios.post('/api/receive-file', formData,
      headers:
      'Content-Type': 'multipart/form-data'

      )



      server.js (just a snippet of the proxy function from the node.js server which serves the nuxt app)



      app.use('/api', proxy(
      target: API_URI,
      changeOrigin: true,
      // logLevel: 'debug',
      onProxyReq(proxyReq, req, res)
      if (req.session.authToken)
      proxyReq.setHeader('Authorization', 'Bearer ' + req.session.authToken)

      ,
      ))



      app.py (the controller that receives the file)



      @v1.route('/api/receive-file', methods=['GET', 'POST'])
      @auth_required
      def receive_file():
      print('in here')
      return jsonify('hi': 'ok')



      This is the error I'm getting:



      enter image description here
      (3000 is the Node server, 5000 is the flask server)



      Also, Flask is returning a 200 as if everything went ok. And upon inspecting the Flask request, the file is in there without a problem.



      I'm not sure why it seems the response is failing, or as the error says, the pipe becomes broken.







      javascript express vue.js flask nuxt.js






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Mar 6 at 21:39









      qarthandsoqarthandso

      618823




      618823






















          1 Answer
          1






          active

          oldest

          votes


















          0














          For anyone that finds this looking for answers, it was resolved by running the localhost through ngrok.



          It seems there were headers missing, I believe an important one being Connection: keep-alive, when serving only via localhost.






          share|improve this answer






















            Your Answer






            StackExchange.ifUsing("editor", function ()
            StackExchange.using("externalEditor", function ()
            StackExchange.using("snippets", function ()
            StackExchange.snippets.init();
            );
            );
            , "code-snippets");

            StackExchange.ready(function()
            var channelOptions =
            tags: "".split(" "),
            id: "1"
            ;
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function()
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled)
            StackExchange.using("snippets", function()
            createEditor();
            );

            else
            createEditor();

            );

            function createEditor()
            StackExchange.prepareEditor(
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader:
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            ,
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            );



            );













            draft saved

            draft discarded


















            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55032578%2fsimple-file-upload-not-working-with-vue-js-flask-framework%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            0














            For anyone that finds this looking for answers, it was resolved by running the localhost through ngrok.



            It seems there were headers missing, I believe an important one being Connection: keep-alive, when serving only via localhost.






            share|improve this answer



























              0














              For anyone that finds this looking for answers, it was resolved by running the localhost through ngrok.



              It seems there were headers missing, I believe an important one being Connection: keep-alive, when serving only via localhost.






              share|improve this answer

























                0












                0








                0







                For anyone that finds this looking for answers, it was resolved by running the localhost through ngrok.



                It seems there were headers missing, I believe an important one being Connection: keep-alive, when serving only via localhost.






                share|improve this answer













                For anyone that finds this looking for answers, it was resolved by running the localhost through ngrok.



                It seems there were headers missing, I believe an important one being Connection: keep-alive, when serving only via localhost.







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered 2 days ago









                qarthandsoqarthandso

                618823




                618823





























                    draft saved

                    draft discarded
















































                    Thanks for contributing an answer to Stack Overflow!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid


                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.

                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function ()
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55032578%2fsimple-file-upload-not-working-with-vue-js-flask-framework%23new-answer', 'question_page');

                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    How to get text form Clipboard with JavaScript in Firefox 56?How to validate an email address in JavaScript?How do JavaScript closures work?How do I remove a property from a JavaScript object?How do you get a timestamp in JavaScript?How do I copy to the clipboard in JavaScript?How do I include a JavaScript file in another JavaScript file?Get the current URL with JavaScript?How to replace all occurrences of a string in JavaScriptHow to check whether a string contains a substring in JavaScript?How do I remove a particular element from an array in JavaScript?

                    Can't initialize raids on a new ASUS Prime B360M-A motherboard2019 Community Moderator ElectionSimilar to RAID config yet more like mirroring solution?Can't get motherboard serial numberWhy does the BIOS entry point start with a WBINVD instruction?UEFI performance Asus Maximus V Extreme

                    List of MPs elected to the English parliament in 1640 (April) Contents List of constituencies and members See also Notes References Navigation menueNational Archives – The Glynde Place ArchivesCobbett's Parliamentary history of England, from the Norman Conquest in 1066 to the year 1803'Aldermen in Parliament', The Aldermen of the City of London: Temp. Henry III – 1912onepage&q&f&#61, false 229