在请求文件上传 API 时,我收到 400 错误代码,其中请求错误。我在 asp.net core 中构建了用于文件上传的后端和前端,当我在 PC 中使用 IIS 运行它时(使用 Visual Studio 2017),它可以在 localhost 中运行。保存和更新 API 都在我的本地工作,但如果我部署代码,更新 API 将无法工作前端代码如下: public static async Task<HttpResponseMessage> UploadFile(string uploadUrl, string filePath, FFFileInfo fileInfo) { string fileName = fileInfo.Name + "." + fileInfo.Extension; string contentType = MimeTypes.GetMimeType(filePath); using (var hc = new HttpClient()) { hc.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(TokenType, AccessToken); hc.DefaultRequestHeaders.Accept.Clear(); hc.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); Stream fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read); StreamContent streamContent = CreateFileContent(fileStream, fileName, contentType); // StreamContent streamContent = CreateFileContent(fileStream, "image.jpg", "image/jpeg"); // Multiple file upload var requestContent = new MultipartFormDataContent("Upload Id" + DateTime.Now.ToString(CultureInfo.InvariantCulture)); requestContent.Add(streamContent, fileInfo.Name, fileName); var progressContent = new ProgressableStreamContent( requestContent, 4096, (sent, total) => { //Console.WriteLine("Uploading {0}/{1}", sent, total); int percentage = (int) Math.Round((double)(100 * sent) / total); Console.Write("\r{0}\t{1}%", fileInfo.Path, percentage); if (sent == total) { Console.WriteLine(); } }); } }正如您可以看到上面的代码,保存和更新使用相同的代码,但只有更新在部署时不起作用。这对我来说很奇怪。
1 回答
白猪掌柜的
TA贡献1893条经验 获得超10个赞
我找到了解决方案。该代码是由我的客户部署的,我无法检查他部署的数据库。基于研究和测试,我得到了一个可能与权限问题有关的想法。所以,我们检查它的数据库。
最后,我们发现当前用户有插入、删除、选择权限,但没有更新权限。授予更新权限后,一切正常
- 1 回答
- 0 关注
- 124 浏览
添加回答
举报
0/150
提交
取消