在請(qǐng)求文件上傳 API 時(shí),我收到 400 錯(cuò)誤代碼,其中請(qǐng)求錯(cuò)誤。我在 asp.net core 中構(gòu)建了用于文件上傳的后端和前端,當(dāng)我在 PC 中使用 IIS 運(yùn)行它時(shí)(使用 Visual Studio 2017),它可以在 localhost 中運(yùn)行。保存和更新 API 都在我的本地工作,但如果我部署代碼,更新 API 將無(wú)法工作前端代碼如下: 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(); } }); } }正如您可以看到上面的代碼,保存和更新使用相同的代碼,但只有更新在部署時(shí)不起作用。這對(duì)我來(lái)說(shuō)很奇怪。
1 回答

白豬掌柜的
TA貢獻(xiàn)1893條經(jīng)驗(yàn) 獲得超10個(gè)贊
我找到了解決方案。該代碼是由我的客戶(hù)部署的,我無(wú)法檢查他部署的數(shù)據(jù)庫(kù)。基于研究和測(cè)試,我得到了一個(gè)可能與權(quán)限問(wèn)題有關(guān)的想法。所以,我們檢查它的數(shù)據(jù)庫(kù)。
最后,我們發(fā)現(xiàn)當(dāng)前用戶(hù)有插入、刪除、選擇權(quán)限,但沒(méi)有更新權(quán)限。授予更新權(quán)限后,一切正常
- 1 回答
- 0 關(guān)注
- 182 瀏覽
添加回答
舉報(bào)
0/150
提交
取消