(401) Unauthorized エラーに関する多くの質問を見つけましたが、問題を診断する方法を説明したものはありませんでした。
SharePoint フォルダーにファイルをアップロードする方法を学ぶために、新しい MVC ASP.net アプリを作成しました。現在のところ、ファイルを C:\testfolder\file.txt から C:\testfolder\UploadedFiles にコピーできないようです
ソースファイルパスとターゲットフォルダーを送信する場所で作成した方法は次のとおりです。
//Flag to indicate whether file was uploaded successfuly or not
bool isUploaded = true;
try
{
// Create a PUT Web request to upload the file.
WebRequest request = WebRequest.Create(targetDocumentLibraryPath);
//Set credentials of the current security context
request.PreAuthenticate = true;
request.UseDefaultCredentials = true;
ICredentials credentials = new NetworkCredential( "Username", "password", "Domain"); //I used my username and password here
request.Credentials = credentials;
//request.Credentials = CredentialCache.DefaultCredentials;
request.Method = "PUT";
// Create buffer to transfer file
byte[] fileBuffer = new byte[1024];
// Write the contents of the local file to the request stream.
using (Stream stream = request.GetRequestStream())
{
//Load the content from local file to stream
using (FileStream fsWorkbook = File.Open(sourceFilePath, FileMode.Open, FileAccess.Read))
{
//Get the start point
int startBuffer = fsWorkbook.Read(fileBuffer, 0, fileBuffer.Length);
for (int i = startBuffer; i > 0; i = fsWorkbook.Read(fileBuffer, 0, fileBuffer.Length))
{
stream.Write(fileBuffer, 0, i);
}
}
}
// Perform the PUT request
WebResponse response = request.GetResponse();
//Close response
response.Close();
}
catch (Exception ex)
{
//Set the flag to indiacte failure in uploading
isUploaded = false; //The remote server returned an error: (401) Unauthorized.
}
//Return the final upload status
return isUploaded;
}
私は次のことを試しました:
- フォルダーのアクセス許可を変更して、すべてのユーザーが書き込み/読み取りできるようにします。
- 他のフォルダーの場所 (SharePoint、ローカル ドライブ、ネットワーク ドライブ) を使用してファイルをアップロードします。
この問題を機能させる方法について何か考えはありますか? 問題をデバッグする方法についての見通しも高く評価されます。
更新: 私のアカウントが IIS のアプリ プール アカウントとして設定されている可能性があります。問題が何であるかはまだわかりません。