私はWCF Webサービスを使用してファイルをアップロードすることに取り組んでいます。アップロード用のコードは次のとおりです。
public string UploadTransactionsFile(string uploadPath)
{
string uploadTransactionsFile;
if (String.IsNullOrEmpty(uploadPath))
return string.Empty;
if (!ValidateTransactionsFile(uploadPath))
return string.Empty;
try
{
var dir = @"C:\Upload\";
string myUploadPath = dir;
var myFileName = Path.GetFileName(uploadPath);
CheckDirectory(myUploadPath);
var client = new WebClient { Credentials = CredentialCache.DefaultCredentials };
client.UploadFile(myUploadPath + myFileName, "PUT", uploadPath);
client.Dispose();
uploadTransactionsFile = "ok";
}
catch (Exception ex)
{
uploadTransactionsFile = ex.Message;
}
return uploadTransactionsFile;
}
Windows フォーム テスト クライアントを作成し、サービス参照を追加しましたが、メソッドを呼び出すコードと、アップロードするファイルをハードコーディングしました。
private testServiceClient testService;
private void Button_Click(object sender, RoutedEventArgs e)
{
var File = "C:\\file.csv";
testService = new testServiceClient();
testService.UploadTransactionFile(File);
}
あるコンピューターを使用してファイルをアップロードできますが、テスト クライアントを別のコンピューターに配置すると、サーバー コンピューターでは見つからない文字列パスをファイルが渡しているだけなのでアップロードできません。
何か不足していますか?
ファイルを として送信する必要がありますbyte[]
か? もしそうなら、どうすればいいですか?