как получить последнюю загрузку только имя файла [дубликат]

Другим случаем, когда NullReferenceExceptions может случиться, является (неправильное) использование оператора as :

class Book {
    public string Name { get; set; }
}
class Car { }

Car mycar = new Car();
Book mybook = mycar as Book;   // Incompatible conversion --> mybook = null

Console.WriteLine(mybook.Name);   // NullReferenceException

Здесь Book и Car являются несовместимыми типами; a Car не может быть преобразован / передан в Book. Когда этот сбой завершается неудачно, as возвращает null. Используя mybook после этого, вы вызываете NullReferenceException.

В общем случае вы должны использовать cast или as, как показано ниже:

Если вы ожидаете преобразования типа в всегда преуспевает (т. е. вы знаете, какой объект должен быть впереди времени), тогда вы должны использовать cast:

ComicBook cb = (ComicBook)specificBook;

Если вы не уверены в типе, но хотите попробовать , чтобы использовать его как определенный тип, затем используйте as:

ComicBook cb = specificBook as ComicBook;
if (cb != null) {
   // ...
}

11
задан name_masked 27 March 2011 в 17:55
поделиться

5 ответов

name относится к имени файла на стороне клиента. Чтобы получить имя файла (включая полный путь) на стороне сервера, вам необходимо использовать tmp_name:

$handle = fopen($_FILES["UploadFileName"]["tmp_name"], 'r');
25
ответ дан netcoder 25 August 2018 в 02:54
поделиться

Я использую вот так ...

<?php
$NameOriginal = $_FILES["UploadFileName"]['name'];
$Typo_Image = $_FILES["UploadFileName"]['type'];
$name_Temp = $_FILES["UploadFileName"]['tmp_name']; 
?>
1
ответ дан Jetro Bernardo 25 August 2018 в 02:54
поделиться
$target='uploads/'.basename($_FILES['UploadFileName']['name']);

if(move_uploaded_file($_FILES['UploadFileName']['tmp_name'],$target)) {

     //Insert into your db

     $fp = fopen($target, "r");
}
3
ответ дан ShivarajRH 25 August 2018 в 02:54
поделиться

Используйте следующий код,

$handle = fopen($_FILES["UploadFileName"]["tmp_name"], 'r');
3
ответ дан Vijin Paulraj 25 August 2018 в 02:54
поделиться

Я написал вот так:

$filePath = realpath($_FILES["file"]["tmp_name"]);

Это дало мне полный путь к загруженному файлу в PHP. Если вы находите ошибку 0 байтов в загрузке файла, просто измените эту строку длины содержимого следующим образом

header("Content-Length: ".filesize($filePath));

, где $ filePath должен быть абсолютным путем для файла, а не только для дескриптора файла.

2
ответ дан webblover 25 August 2018 в 02:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: