Я только что получил код Java, который мне нужно преобразовать в C # и загрузить файл на сервер Documentum. Я конвертировал в C #, нужно иметь несколько запросов.
какая граница (в Java используется некоторое постоянное уникальное значение), что объявлять в C #, и я надеюсь, что «a_content_type» и «object_name» являются добавленными заголовками. Что такое SetTimeOut, ReadTimeOut, UseCatches, DoInput и DoOutput в C #?
Java-код:
private HttpURLConnection getHttpURLConnection( String fileName, String fileExt, URL urlOne ) throws IOException
HttpURLConnection connection;
connection = ( HttpURLConnection ) urlOne.openConnection();
connection.setRequestMethod( "POST" );
connection.setRequestProperty( CONTENT_TYPE, "multipart/form-
data;boundary="+ BOUNDARY );
connection.setRequestProperty( ACCEPT, "application/vnd.emc.documentum+json" );
connection.setRequestProperty( AUTHORIZATION,BASIC+
Base64.encodeBase64String( ( username + ":" + password ) .getBytes() ) );
connection.setUseCaches( false );
connection.setRequestProperty( "Object_Name", "test_pdffile");
connection.setRequestProperty( A_CONTENT_TYPE, "pdf" );
connection.setDoInput( true );
connection.setDoOutput( true );
connection.setConnectTimeout(TIMEOUT * THOUSAND);
connection.setReadTimeout(TIMEOUT * THOUSAND);
return connection;
}
C # код:
try
{
System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(url);
request.Method = "GET";
request.ContentType = "multipart/form-data;boundary="+ BOUNDARY;
request.PreAuthenticate = true;
String encoded = System.Convert.ToBase64String(System.Text.Encoding.GetEncoding("ISO-8859-1").GetBytes(username + ":" + password));
request.Headers.Add("Authorization", "Basic " + encoded);
request.Accept = "application/vnd.emc.documentum+json";
request.Headers["Object_Name"] = "test_pdffile";
request.Headers["a_content_type"] = "pdf";
}