我有这个html页面
<div class="form-group">
<label class="control-label col-lg-2">School Location</label>
<div class="col-lg-10">
<input type="text" name="sl" class="form-control" value="" placeholder="School Location" required>
</div>
<div class="form-group">
<label class="control-label col-lg-2">School Logo</label>
<div class="col-lg-10">
<input type="file" name="ls" id="ls" class="schoollogo form-control" value="" placeholder="School Location" required>
</div>
</div>
一个文本输入和一个文件输入。一旦我选择了一个文件,该文件正在上传,我正在收回上传的文件链接
'change .schoollogo': function(event, template) {
FS.Utility.eachFile(event,function(file){
var fileObj=new FS.File(file);
Uploads.insert(fileObj,function(err){
var lspath = fileObj.url({brokenIsFine: true});
var au = Meteor.absoluteUrl();
$("#ls").val(lspath);
});
})
}
有一次,我有了这个文件,我提交了这样的数据
'submit .school': function(event){
event.preventDefault();
var sn = event.target.sn.value;
var sd = event.target.sd.value;
var sl = event.target.sl.value;
var ls = event.target.ls.value;
var sn = sn.replace(/\s/g, '');
var post = {
input_sn: sn,
input_sd: sd,
input_sl: sl,
input_ls: ls
};
var schoolexists = Schools.find({schoolname: sn}, {limit: 1}).count() > 0;
if(schoolexists == true){
alert('school already exists');
}
if(schoolexists == false){
Meteor.call('schoolNew', post);
return false;
}
}
问题是,我的代码没有设置上传链接的值
$("#ls").val(lspath);
像上面的代码一样。我如何设置文件路径,使其在提交时发布到服务器。目前,代码只选择所选文件的文件名,而不是我想要的路径。
lspath
包含上传图片路径,我已确认。
答案 0 :(得分:0)
我必须使用本地存储。在我的提交代码中,我检索设置值
var ls = localStorage.getItem("fp");
我之前设置过像
'change .schoollogo': function(event, template) {
FS.Utility.eachFile(event,function(file){
var fileObj=new FS.File(file);
Uploads.insert(fileObj,function(err){
var lspath = fileObj.url({brokenIsFine: true});
var au = Meteor.absoluteUrl();
localStorage.setItem("fp", lspath);
});
})
}