У меня есть PHP-код для загрузки файла из клиента C #:
PHP:
<?php
if ($_FILES["file"]["error"] == UPLOAD_ERR_OK) {
$tmp_name = $_FILES["file"]["tmp_name"];
$name = $_FILES["file"]["name"];
move_uploaded_file($tmp_name, "$name");
}
?>
C #:
WebClient Client = new WebClient();
Client.Headers.Add("Content-Type", "binary/octet-stream");
byte[] result = Client.UploadFile("https://products.softsolutionslimited.com/php.new/marketing/upload.php", "POST",
@"c:\file.zip");
string s = Encoding.UTF8.GetString(result, 0, result.Length);
Работает нормально, иФайл успешно загружен, но я получаю нулевой ответ в переменной byte[] result
.Могу ли я получить ответ от вызова UploadFile?В противном случае я проверяю, существует ли файл, соответствует ли он размеру и т. Д. С помощью этого кода:
WebRequest Request = HttpWebRequest.Create("https://products.softsolutionslimited.com/php.new/marketing/Author.png");
Request.Method = "HEAD";
Request.Credentials = System.Net.CredentialCache.DefaultCredentials;
using (HttpWebResponse Response = (HttpWebResponse)Request.GetResponse())
{
if (Response.StatusCode != HttpStatusCode.OK)
{
MessageBox.Show("error");
return;
}
}
Но, похоже, возникают дополнительные издержки, если я не могу получить прямой результат от вызова UploadFile.
Ивозможно ли получить URL-адрес сохраненного файла на сервере в результате вызова API?