# 自建图片上传服务示例 ## 图片上传服务 由于Chrome的安全机制限制,只能通过JS拷贝同源的图片文件,所以需要建这个服务来临时存储图片文件。 ### 上传图片API 示例: ```bash curl 'http://dev.pdfviewer.com/api/upload/tmp/image?filefield=file' -H 'Pragma: no-cache' -H 'Origin: chrome-extension://aejoelaoggembcahagimdiliamlcdmfm' -H 'Accept-Encoding: gzip, deflate' -H 'Accept-Language: zh-CN,zh;q=0.9,en;q=0.8' -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36' -H 'Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryZZfy0UtyzZNBJ2a9' -H 'Accept: */*' -H 'Cache-Control: no-cache' -H 'Connection: keep-alive' -H 'Sec-Metadata: destination="", target=subresource, site=cross-site' --data-binary $'------WebKitFormBoundaryZZfy0UtyzZNBJ2a9\r\nContent-Disposition: form-data; name="file"; filename="\u554a.gif"\r\nContent-Type: image/gif\r\n\r\n\r\n------WebKitFormBoundaryZZfy0UtyzZNBJ2a9--\r\n' --compressed ``` 最终接口返回: /image/165f64e5d70, 可以通过这个地址访问到图片 ## 配置nginx反向代理 ```nginx location ~ ^/api/(.+)$ { proxy_pass http://127.0.0.1:3001/$1$is_args$args; proxy_redirect off; proxy_request_buffering on; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } ```