如何解决部署时更新 api 中的错误请求的 400 错误

在请求文件上传 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();

                         }

                     });


            }

        }

正如您可以看到上面的代码,保存和更新使用相同的代码,但只有更新在部署时不起作用。这对我来说很奇怪。



慕勒3428872
浏览 125回答 1
1回答

白猪掌柜的

我找到了解决方案。该代码是由我的客户部署的,我无法检查他部署的数据库。基于研究和测试,我得到了一个可能与权限问题有关的想法。所以,我们检查它的数据库。最后,我们发现当前用户有插入、删除、选择权限,但没有更新权限。授予更新权限后,一切正常
打开App,查看更多内容
随时随地看视频慕课网APP