从Angular上传文件到Nginx Openresty lua上传

我使用openresty和lua创建了一个文件上传系统。当从nginx服务于一个静态的html页面并且在nginx.conf文件的路由中调用content_by_lua_file来上传文件时,它是可行的。我试图让它在一个单独运行的跨源angular应用程序中工作,但是在浏览器控制台中要么得到

"请求资源上没有允许跨源访问资源的标头"

要么在nginx error.log文件中得到

 "未定义内容类型中的边界"

我已经尝试了从content-type:'multipart/form-data'转换为未定义的方式格式化angular上面的出站标头。

我已经为我的nginx“location”添加了CORS标头(参见:https://enable-cors.org/server_nginx.html

angular上传函数看起来像这样:

 upload(file: File): Observable<HttpEvent<any>> {
    const formData: FormData = new FormData();

    formData.append('testFileName', file);
    let headers = new HttpHeaders({
      'Content-Type': 'multipart/form-data'});
  let options = { headers: headers };

    const req = new HttpRequest('POST', `${this.baseUrl}/upfile`, formData, options);

    return this.http.request(req);
  }

Openresty上传系统: https://programmersought.com/article/81471844718/

我知道如果我构建--prod并以这种方式运行它,它可能会起作用,因为它不再是跨源的,但我喜欢将一个单独的nginx服务器或路径用于只能与一个跨源角应用程序接口的上传。

OpenResty似乎是构建多用途互操作中间件的神器。

有关如何实现这一目标的任何想法吗?

点赞