我想用jQuery异步上传一个文件.这是我的HTML:
<span>File</span>
<input type="file" id="file" name="file" size="10"/>
<input id="uploadbutton" type="button" value="Upload"/>
Run Code Online (Sandbox Code Playgroud)
在这里我的__CODE__代码:
$(document).ready(function () {
$("#uploadbutton").click(function () {
var filename = $("#file").val();
$.ajax({
type: "POST",
url: "addFile.do",
enctype: 'multipart/form-data',
data: {
file: filename
},
success: function () {
alert("Data Uploaded: ");
}
});
});
});
Run Code Online (Sandbox Code Playgroud)
我只获取文件名,而不是上传文件.我该怎么做才能解决这个问题?
我正在使用jQuery Form Plugin上传文件.
我有一个我无法访问的PC上托管的网站.我有一个上传表单,允许人们上传最大30MB的mp3文件.我的服务器端脚本是用PHP完成的.
每次我尝试上传文件时,都会收到一条错误,声称该文件超出了允许的最大大小,因此我需要增加大小.我在网上的研究建议更改.htaccess我无法访问的文件,这样就行不通了.其他人建议我应该php.ini在我的root上添加一个自定义文件,这个文件不起作用.还有其他建议吗?
每次我想看到phpinfo();我必须:
创建一个info.php文件; 写phpinfo();在里面.转到浏览器并输入我的"thisproject.dev/info.php"
我在Ubuntu上,问题是..是不是有更实用的方法在浏览器上看到phpinfo?
谢谢
我正在尝试通过Ajax请求上传图像,似乎遇到了与此问题类似的问题,但它没有答案.我不确定它们是否完全一样,所以我会在这里发布所有细节,希望更多细节可以帮助别人找到答案.
我从我的代码中解释了下面的内容(删除了我认为与此问题无关的很多内容)所以你看到的任何错别字都可能只是我改变下面的代码.
以下内容包含在我的模型中:
use yii\web\UploadedFile;
...
class Image extends \yii\db\ActiveRecord
{
public $imageFile;
public function rules()
{
return [
[['imageFile'], 'file', 'skipOnEmpty' => true, 'extensions' => 'png, jpg'],
];
}
public function upload()
{
if ($this->validate()) {
$this->imageFile->saveAs('uploads/' . $this->imageFile->baseName . '.' . $this->imageFile->extension);
return true;
} else {
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的视图文件的一部分:
<?php $form = ActiveForm::begin(['options' => ['enctype' => 'multipart/form-data']]) ?>
<?= $form->field($model, 'title') ?>
<?= $form->field($model, 'imageFile')->fileInput() ?>
<?= Html::submitButton('Upload', ['class' => 'btn btn-success']) ?> …Run Code Online (Sandbox Code Playgroud) 我想在yii2框架中使用Ajax上传文件这是我的代码,但是在控制器"get Instance"中因为序列化数据而返回null; 我怎样才能做到这一点?
这是我的控制器:
<?php
public function actionUpdate($id)
{
$model = Signature::findOne([
'user_id' => $id,
]);
if ($model->load(Yii::$app->request->post())) {
$model->file = UploadedFile::getInstance($model, 'file');
$model->file->saveAs('uploads/signature/' . $model->user_id . '.' . $model->file->extension);
$model->url = 'uploads/signature/' . $model->user_id . '.' . $model->file->extension;
if ($model->save()) {
echo 1;
} else {
echo 0;
echo $model->file;
}
} else {
return $this->renderAjax('update', [
'model' => $model,
]);
}
}
?>
Run Code Online (Sandbox Code Playgroud)
这是我的脚本代码我无法在控制器中获取我的文件,它返回null
<?php $script = <<<JS
$('form#{$model->formName()}').on('beforeSubmit', function(e)
{
var \$form = $(this);
$.post(
\$form.attr("action"),
\$form.serialize(), …Run Code Online (Sandbox Code Playgroud) <input type='file' name='inputfile' id='inputfile'>
Run Code Online (Sandbox Code Playgroud)
我正在尝试上传没有表单提交的图片 - 只需在输入file更改后:
$('#inputfile').change(function(){
$.ajax({
url: "pro-img-disk.php",
type: "POST",
data: new FormData('#inpufile'),
contentType: false,
cache: false,
processData:false,
success: function(data){
console.log(data);
}
});
});
Run Code Online (Sandbox Code Playgroud)
PHP
$src = $_FILES['inputfile']['tmp_name'];
$targ = "../images/".$_FILES['inputfile']['name'];
move_uploaded_file($src, $targ);
Run Code Online (Sandbox Code Playgroud)
错误:
Undefined index: inputfile...
有帮助吗?