クライアントからファイル アップロード コントロールを使用して画像をアップロードし、それをストリーム オブジェクトに変換して wcf サービスに送信します。このプロセスは asp.net アプリケーションで動作しますが、このアプリケーションを IIS 5.1 でホストすると、エラーが表示されているドキュメント
パス「C:\Documents and Settings\patnayak\Desktop\Temp.xlsx」へのアクセスが拒否されました
Google検索の後、システム内のTemp.xlsxへのasp.netユーザー権限へのアクセスを許可すると、機能しています。ファイルをアップロードする他のシステムはどうですか。
私のコード:
ClientBOL.CD.CPI2Library objLib = new ClientBOL.CD.CPI2Library();
UDO.CPI2LibraryList libfiles = new UDO.CPI2LibraryList(true, "");
HttpFileCollection hfc = Request.Files;
libfiles.CPI2Libraries = new UDO.CPI2Library[hfc.Count];
for (int i = 0; i < hfc.Count; i++)
{
HttpPostedFile hpf = hfc[i];
if (hpf.ContentLength > 0)
{
libfiles.CPI2Libraries[i] = new UDO.CPI2Library();
libfiles.CPI2Libraries[i].FileName = System.IO.Path.GetFileName(hpf.FileName);
libfiles.CPI2Libraries[i].FiletypeId = GetFileTypeId(System.IO.Path.GetFileName(hpf.FileName));
libfiles.CPI2Libraries[i].DoctypeId = 1;
FileInfo fileInfo = new FileInfo(hpf.FileName);
UDO.UDOFileOperations.RemoteFileInfo ri = new UDO.UDOFileOperations.RemoteFileInfo();
System.IO.FileStream stream = new System.IO.FileStream(hpf.FileName, System.IO.FileMode.Open, System.IO.FileAccess.Read);
ri.FileName = System.IO.Path.GetFileName(hpf.FileName);
ri.Length = fileInfo.Length;
ri.FileByteStream = stream;
ClientBOL.CD.FileOperations cdc = new ClientBOL.CD.FileOperations();
cdc.UploadFile(ri);
}
}