将 Koa 应用部署到 Azure 应用服务后无法上传到 Azure 存储
Can't upload to Azure Storage after deploy Koa app to Azure App Service
当 App 运行 在本地时,我可以将文件上传到 Azure Blob Storage。
但是当我将应用部署到 Azure 应用服务时,它总是响应 502 Bad Gateway
我使用库 koa-body
来处理上传文件
const koaBody = require('koa-body')({ multipart: true, uploadDir: '.' });
const blobServiceClient = BlobServiceClient.fromConnectionString(AZURE_STORAGE_CONNECTION_STRING);
const videoContainerClient = blobServiceClient.getContainerClient(AZURE_VIDEO_STORAGE_CONTAINER);
const blobVideoName = `${fileName}.${fileExtension}`;
const blockBlobVideo = videoContainerClient.getBlockBlobClient(blobVideoName);
const uploadVid = blockBlobVideo.uploadFile(filePath);
我认为问题是我没有权限将文件写入 os.tmpDir()
,所以我尝试转到 Kudu Debug Console
并将 chmod -R 0755
设置为 home/site/wwwroot/public/tmp
,我认为的文件夹是os.tmpDir()
。但是它说我没有权限
感谢任何帮助
你可以参考我的示例代码。(Download my samle code)
测试结果。
POST 测试 url : https://yourappname.azurewebsites.net/user/upload
当 App 运行 在本地时,我可以将文件上传到 Azure Blob Storage。
但是当我将应用部署到 Azure 应用服务时,它总是响应 502 Bad Gateway
我使用库 koa-body
来处理上传文件
const koaBody = require('koa-body')({ multipart: true, uploadDir: '.' });
const blobServiceClient = BlobServiceClient.fromConnectionString(AZURE_STORAGE_CONNECTION_STRING);
const videoContainerClient = blobServiceClient.getContainerClient(AZURE_VIDEO_STORAGE_CONTAINER);
const blobVideoName = `${fileName}.${fileExtension}`;
const blockBlobVideo = videoContainerClient.getBlockBlobClient(blobVideoName);
const uploadVid = blockBlobVideo.uploadFile(filePath);
我认为问题是我没有权限将文件写入 os.tmpDir()
,所以我尝试转到 Kudu Debug Console
并将 chmod -R 0755
设置为 home/site/wwwroot/public/tmp
,我认为的文件夹是os.tmpDir()
。但是它说我没有权限
感谢任何帮助
你可以参考我的示例代码。(Download my samle code)
测试结果。
POST 测试 url : https://yourappname.azurewebsites.net/user/upload