繁体   English   中英

Node.js与Ajax在Web服务器上上传文件

[英]Node.js vs Ajax uploading files on the web server

我有一个网络服务器,现在我想上传文件功能。 我试图将Node.js与Ajax一起使用,但是每次我按下按钮时,它都告诉我“禁止,您无权访问此服务器上的/ api / photo /”。 我尝试使用所有内容,但在本教程https://codeforgeek.com/2014/11/ajax-file-upload-node-js/上停了下来。我的代码几乎相同,因此无需在此处进行解释。 这是我的网站http://ibarakaiev.shpp.me/node_upload/您有什么想法吗? PS权限设置为0777

问题是上传表单中的操作地址是/ api / photo

<form id="uploadForm" enctype="multipart/form-data" action="/api/photo" method="POST">
            <input type="file" name="userPhoto">
            <input type="submit" value="Upload Image" name="submit">
        </form>

但是,当您访问http://ibarakaiev.shpp.me/api/photo/时,您会看到“ 禁止的错误”。 这是因为NGINX Web服务器负责此页面。 您可以通过在服务器响应中查找标头来查看它(F12-> Chrome中的网络)。

您真正需要的是将文件数据发送到NODE.JS Express应用程序。 正如我在教程中看到的那样,服务器在端口3000上运行(通过代码):

app.listen(3000,function(){
    console.log("Working on port 3000");
});

因此,您需要将操作网址更改为http://ibarakaiev.shpp.me:3000/api/photo

<form id="uploadForm" enctype="multipart/form-data" action="http://ibarakaiev.shpp.me:3000/api/photo" method="POST">
            <input type="file" name="userPhoto">
            <input type="submit" value="Upload Image" name="submit">
        </form>

甚至尝试使用服务器的IP地址更改域名,然后使用类似http://server_ip:3000/api/photo

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM