Я пишу приложение, с помощью которого файл может быть загружен на сервер. Во время запуска приложения информация записывается в файл и удаляется. Всякий раз, когда файл загружается на сервер, я хочу новое имя файла, чтобы старый файл не был заменен. Однако файл может быть большим и, следовательно, я хочу сохранить только один файл в системе Android. Я хочу, чтобы имя файла на сервере имело дату и время, когда оно было загружено. Есть ли способ сделать имя файла на сервере отличным от того, что оно есть на устройстве, отправляющем его?Изменение имени файла при отправке файла с android на сервер
Я загружаю файл на сервер с использованием стандартной многомерной сущности и PHP-кода на сервере. Код php показан ниже:
<form enctype="multipart/form-data" action="upload.php" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="100000" />
Choose a file to upload: <input name="uploadedfile" type="file" /><br/
<input type="submit" value="Upload File" />
</form>
<?php
$to_file = "locationdata/" . basename($_FILES['uploadedfile']['name']);
$from_file = $_FILES['uploadedfile']['tmp_name'];
if (move_uploaded_file($from_file, $to_file)) {
echo "Successful upload";
?>
<a href="<?php echo $to_file;?>"><?php echo $to_file;?></a>
<?php
} else {
echo "Unsuccessful upload";
}
?>
Ниже приведены фрагменты моего кода для приложения для Android.
public static File file = new File("/sdcard/upload.txt");
public static FileWriter writer;
Этот код используется в методе, который я вызываю во время работы приложения (возможно, несколько раз).
writer = new FileWriter(file);
writer.write(".... what I want to print here.......");
writer.close();
И затем я отправляю файл на сервер со следующим кодом.
HttpClient client = new DefaultHttpClient();
HttpUriRequest request = new HttpPost(webAddress);
MultipartEntity form = new MultipartEntity();
client.getParams().setBooleanParameter("http.protocol.expect-continue", false);
form.addPart(inputName, new FileBody(new File(filePath)));
((HttpEntityEnclosingRequestBase) request).setEntity(form);
try {
client.execute(request);
System.out.println("Connection Success");
} catch (ClientProtocolException e) {
throw e;
} catch (IOException ee) {
throw ee;
}
О! Это прекрасно. Я новичок в php и не знаю, что в нем есть функция формата даты. Я попробую это. – Sap