Я пытаюсь достичь двух вещей.
- Показать предварительный просмотр изображения, выбранного пользователем. Это в основном для пользователя, чтобы подтвердить, что он действительно загрузил правильное изображение. Я сохраняю изображение во временную папку для этого.
- После заполнения некоторых других данных и подтверждения правильности изображения. Я хочу опубликовать эти данные и изображение в URL.
Я использую ajax-загрузку Valum для загрузки файла и успешно получил предварительный просмотр изображения.
Проблема заключается в том, как мне предоставить все данные: изображение, в котором пользователь уверен сейчас, и некоторые другие данные (комментарии, идентификатор электронной почты и т. Д.) Сейчас.
Подход, который я рассматриваю, состоит в том, чтобы использовать файл, загруженный на сервер, для предварительного просмотра и сохранить его в моей базе данных. Но мне не очень удобно это делать. Есть ли лучший способ достичь этой цели.
Заранее спасибо
Небольшая часть моего html:
<div id='file-uploader'></div>
<img alt="Preview" class="previewImage" id='preview' height='50' width='50'/>
<input type=text id="addLink" size="60"/>
<textarea name="Name" rows="15" cols="50"></textarea>
<input type="email" name="emailBox" size="60">
<div id = 'testlink'></div>
<input id="submitrequest" class="button" type="submit" value="Submit photo">
Мой Javascript:
uploader = new qq.FileUploader( {
action: "{% url ajax_upload %}",
multiple:false,
element: $('#file-uploader')[0],
onComplete: function( id, fileName, responseJSON ) {
if( responseJSON.success )
$('#preview').attr('src', responseJSON.url) ;
else
alert('failed') ;
},
});
$('#addLink').blur(function(){
linkTemplate = _.template("<a href='<%= link %>' value = 'Go to Link' class = 'button'></a>");
linkval = $('#addLink').val();
if(linkval.startsWith('http://') == false)
linkval = 'http://' + linkval;
$('#testlink').append(linkTemplate({link:linkval}));
});
$('#addLink').focus(function(){
$('#testlink').empty();
});