我正在制作编辑表格而且我坚持上传文件。我想用
之类的键来输出new_files[0][format]:pdf
new_files[0][name]:1T5WZ9S_Aleydin.pdf
new_files[0][file]:JVBERi0xLjQNCiWys7S1DQolR2VuZXJhdGVkIGJ5IEV4cGVydFBkZiB2OS4xLjMNCjEgMCBvYmoNCjw8DQovVHlwZSAvQ2F0YWxvZw0KL1BhZ2VNb2RlIC9Vc2VOb25lDQovMizLOkjKt62VsTvdDlztlA93atwNRrIqyhHHyJFvkebGs8mqWJdm
= (Base64)
现在我变得喜欢
name: "1T5WZ9S_Aleydin.pdf"
size: 0
type: "application/pdf"
这是我的文件输入部分
的一部分 <div class="app-basic-form-file-drop" data-type="Offer Confirmation">
<label class="orange">Offer Confirmation:</label>
<div class="app-basic-form-file-drop-area">
<div class="form-file-drop-header">
<div class="app-add-button">Add Files</div>
</div>
<div class="form-file-drop-icon" onClick="$(this).parent().siblings('.file-drop-click').click()">
<div class="form-file-icon"></div>
<div class="clear"></div>
<label>Select Files</label>
</div>
</div>
<input type="file" multiple="true" name="file[]" class="file-drop-click" style="display: block;">
</div>
我使用带有Codeigniter上传库的ajax数据类型Json提交。
我想上传doc和pdf类型的文件。
更新:
所以我为此写了函数
public function write($file, $box = true)
{
$filename = $file["filename"];
$dir = $file["dir"];
$base64 = $file["file"];
$format = $file["format"];
$path = "files/{$dir}/" . $filename;
// Write file
$document_file = fopen($path, "w");
fwrite($document_file, base64_decode($base64));
// Close file
fclose($document_file);
// Generate HTML
if($box)
{
$html_filename = str_replace($format, ".html", $filename);
$c_file = $this->convert_file($path, $html_filename, $dir);
$file["document_id"] = $c_file["document_id"];
$file["converted"] = $c_file["converted"];
if($file["converted"] == 1)
$file["html_filename"] = $html_filename;
}
return $file;
}
所以现在我要问如何在上传中获取文件目录。
答案 0 :(得分:2)
我可以根据您的需要向您展示一个可以实现的演示......
的 HTML 强>
<强>的JavaScript 强>
function previewFile() {
var preview = document.querySelector('img');
var file = document.querySelector('input[type=file]').files[0];
var reader = new FileReader();
reader.onloadend = function () {
preview.src = reader.result;
}
if (file) {
reader.readAsDataURL(file);
} else {
preview.src = "";
}
}
答案 1 :(得分:1)
您可以尝试以这种方式获取信息:
$new_files = array();
foreach ($_FILES['file']['name'] as $key => $name) {
$new_files[] = array (
'file' => base64_encode(file_get_contents($_FILES["file"]["tmp_name"][$key])),
'name' => $name,
'format' => end((explode(".", $name)))
}