我正在尝试在上传图片时测试我的用户是否有照片值.它在浏览器中工作正常,测试的基本功能通过,但如果我试图断言user.photo不是nil,它就会失败.这是测试
describe 'POST #update' do
context 'when there is an image' do
it 'renders the crop template' do
login(user)
photo = File.open(File.join(Rails.root, '/spec/fixtures/images/bob-weir.jpg'))
post :update, user: { photo: photo }
expect(response).to render_template('crop')
user.reload
expect(user.photo.file).to_not be_nil
end
end
end
Run Code Online (Sandbox Code Playgroud)
正在生产:
Failure/Error: expect(user.photo.file).to_not be_nil
expected: not nil
got: nil
Run Code Online (Sandbox Code Playgroud)
如果我在测试结束时调试器并执行user.photo,我会得到:
(byebug) user.photo
#<PhotoUploader:0x007fa447029480 @model=#<User id: 226, ..... photo: nil>,
@mounted_as=:photo, @storage=#<CarrierWave::Storage::File:0x007fa4468ddbb8
@uploader=#<PhotoUploader:0x007fa447029480 ...>>>
Run Code Online (Sandbox Code Playgroud)
有没有办法确保控制器实际上在数据库中保存了照片值?它只是模型的一个属性,它将文件名保存为字符串.
我在js file-uploader中使用了这个"iframe.contentDocument",但它不适用于IE8,Firefox(3.5及以下版本.如何通过使用其他DOM来处理iframe来解决这个问题?
谢谢大家
我正在尝试实现一个首页Wordpress上传器,它允许用户从Wordpress页面上传图像,并在上传之前调整图像大小.我找到了Agile Uploader.上传者的形式.
问题是当我单击表单中的提交按钮发送数据时,所有字段都存储在一个帖子中,但图像没有.
以下是我上传页面的代码:
<form id="submitForm" action="<?php echo get_permalink(); ?>" method="post" enctype="multipart/form-data" onsubmit="return ray.ajax()">
<!-- upload photos -->
<div style="float:left;width:410px; height:246px;">
<div id="multiple"></div>
</div>
<script type="text/javascript">
jQuery('#multiple').agileUploader({
formId: 'submitForm',
flashVars: {
file_post_var: 'attachment',
firebug: false,
form_action: '',
file_limit: 15,
max_post_size: (1000 * 1024)
}
});
</script>
</div> <!-- end - upload photos -->
</form>
Run Code Online (Sandbox Code Playgroud)
和Wordpress上传的代码(它在同一个文件中)
/* upload photos */
if ($post_error == false) {
/* required files */
require_once(ABSPATH . "wp-admin" . '/includes/image.php');
require_once(ABSPATH . "wp-admin" . '/includes/file.php');
require_once(ABSPATH . …Run Code Online (Sandbox Code Playgroud) 我是Android新手,我正在努力弄清楚究竟有哪些工具可供我使用.我正在为Android 2.0.1开发,因为这是我的设备运行.
具体来说,我正在编写一个应用程序,我想将图像上传到Picasa相册.我几乎可以肯定这是支持的; 例如,内置(谷歌?)照片查看器有一个带有Picasa选项的"共享"按钮,甚至还有一小部分示例代码,包括代码段
[借用代码!如果这是违反规则的道歉..]
temp.setComponent(new ComponentName
("com.google.android.apps.uploader",
"com.google.android.apps.uploader.picasa.PicasaUploadActivity"));
startActivityForResult(temp, PICASA_INTENT)
Run Code Online (Sandbox Code Playgroud)
这看起来就像我想要的.
但是我找不到任何文件.事实上我很不清楚如何使用这种类型的资源.从Eclipse中,我是否需要包含另一个项目com.google.android.apps.uploader?如果是这样,我怎么得到它?我该如何加入?是否有任何可用的示例代码供我查看?
我一直在使用flex上传器,用户可以在其中选择多个文件.
当文件上传到队列中时(一次一个),它工作正常,但是一旦我尝试让它一次上传2个文件,我就会遇到问题.
看起来文件经常会锁定,并且在上传所有其他文件之前保持1%,或者根本不完整.一次上传的文件永远不会超过一个.
在Flex中同时在多个文件上调用.upload是否存在问题?
编辑:脚本的其他变体似乎也不起作用, wp_enqueue_media() 没问题,但看起来包含 wp.media 的脚本不包括在内。
我正在尝试在自定义插件中使用 Wordpress Media Uploader,但不断收到以下错误:
TypeError: undefined is not an object (evaluating 'wp.media.frames')
Run Code Online (Sandbox Code Playgroud)
我的 Javascript 代码:
jQuery(document).ready(function(){
var mediaUploader;
jQuery('#upload-button').click(function(e) {
e.preventDefault();
// If the uploader object has already been created, reopen the dialog
if (mediaUploader) {
mediaUploader.open();
return;
}
// Extend the wp.media object
mediaUploader = wp.media.frames.file_frame = wp.media({
title: 'Choose Image',
button: {
text: 'Choose Image'
}, multiple: false });
// When a file is selected, grab the URL and set it as …Run Code Online (Sandbox Code Playgroud) 我有一个名为Recipe的模型,它有两个使用载波的图像,所以在这个模型中我有这个设置载波
mount_uploader :author_photo, AuthorUploader
mount_uploader :photo, PhotoUploader
Run Code Online (Sandbox Code Playgroud)
我还为我的图像添加了多个版本,如拇指,小,中,大
问题是.说我有2张图片
Chocolate_Cake.jpg as the photo
My_Photo.jpg as author_photo
Run Code Online (Sandbox Code Playgroud)
当我进入控制台并加载我的食谱和recipe.to_json时,我从载波中获取了我的图像,但是他们都显示了食谱的照片,而不是作者照片.
"recipe": [
{
"author_photo": {
"url": "/uploads/recipe/photo/8/Chocolate_Cake.jpg",
"thumb": {
"url": "/uploads/recipe/photo/8/thumb_Chocolate_Cake.jpg"
},
"small": {
"url": "/uploads/recipe/photo/8/small_Chocolate_Cake.jpg"
},
"medium": {
"url": "/uploads/recipe/photo/8/medium_Chocolate_Cake.jpg"
},
"large": {
"url": "/uploads/recipe/photo/8/large_Chocolate_Cake.jpg"
}
},
"id": 8,
"photo": {
"url": "/uploads/recipe/photo/8/Chocolate_Cake.jpg",
"thumb": {
"url": "/uploads/recipe/photo/8/thumb_Chocolate_Cake.jpg"
},
"small": {
"url": "/uploads/recipe/photo/8/small_Chocolate_Cake.jpg"
},
"medium": {
"url": "/uploads/recipe/photo/8/medium_Chocolate_Cake.jpg"
},
"large": {
"url": "/uploads/recipe/photo/8/large_Chocolate_Cake.jpg"
}
},
Run Code Online (Sandbox Code Playgroud)
所以出于某种原因,我的json响应并没有正确显示我的上传者.
如果我要在控制台中输入
recipe.photo
recipe.author_photo
Run Code Online (Sandbox Code Playgroud)
他们提出了不同的图像网址
我正在开发一个网站,我需要一个客户端给我发送近千张图片.我们之间有一点地理距离,因此虽然邮寄CD或SD卡并非不可能,但并不是首选.我可以编写PHP上传器让客户提交图片,还是有更好的方法?我不想订阅任何文件共享站点.
假设我正在编写这样的上传器,有没有办法编写progresbar和/或其他一些功能,以防止被中断的上传文件损坏?
任何有助于资源的链接都是有益的.
谢谢
编辑:
这是一次性的事情,这些是我们正在讨论的高质量图像.它会是几GB.
通过FTP Space,你的意思是我的FTP服务器的用户名和密码?它可以完成,但(为什么)FTP客户端比基于Web的上传器更好?我不确定客户端是否知道如何下载FTP程序.客户端在Mac上,我不相信我见过的几个Mac的FTP程序.
假设我采用"单一拉链中的所有东西"路线,PHP会起作用吗?
再次感谢.
编辑:
好的,到目前为止,我已经确信不使用PHP,除非我们使用.zip文件.另外,我现在可能会修改进度条.等待客户,将在未来几天内回复所有人.
编辑:
遇到某种功能的客户端.客户端将照片放在闪存驱动器上.问题解决了.所有输入都是+1.
我想用js创建一个上传器。谁能帮助我如何使用javascript上传文件?
我在插件中使用了wordpress媒体库...
var images = wp.media({
title: 'Upload Images',
library: {type: 'image'},
multiple: true
}).open().on('select', function(e){...});
Run Code Online (Sandbox Code Playgroud)
...但是multiple:true不起作用。前几天,我发现一则帖子,其中有人列出了“ true”以外的选项,从而使我可以在插件中选择多个图像。当时我认为我不需要它,但现在我需要了,经过几天的搜索,我仍然找不到该帖子。
如果有人可以将我指向这篇文章,或者告诉我使用最新版本的wordpress进行此工作有什么价值,我将不胜感激。
我知道法典和大量的帖子都说该值应该是正确的,但这是行不通的,我知道还有其他事情,因为我前几天在测试中做到了。
关于类星体框架上传器组件的问题。我需要将图像发布到一个 URL,该 URL 将重命名上传的文件并返回完整路径。
我正在使用上传工厂和axios
但是我在理解如何将文件传递给 axios 时遇到了问题,就好像它只是一个输入类型文件一样。基本上,我需要将其设置为如果我正在发送一个带有单个输入文件的表单,如下所示:
<input type="file" name="banner">
Run Code Online (Sandbox Code Playgroud)
这是组件:
<q-uploader
url=""
extensions=".gif,.jpg,.jpeg,.png"
:filter="filterFiles"
:upload-factory="uploadFile" />
Run Code Online (Sandbox Code Playgroud)
这是上传方法,但我不断收到来自服务器的错误响应。
uploadFile (file, updateProgress) {
const formData = new FormData()
formData .set('banner', file)
var headers = {
'Content-Type': 'multipart/form-data'
}
axios.post('http://someurl/uploadFile', formData , headers)
.then(function (response) {
console.log(response)
})
.catch(function (response) {
console.log(response)
})
}
Run Code Online (Sandbox Code Playgroud)
如果我使用 method="post" enctype="multipart/form-data"和一个
<input type="file" name="banner">
Run Code Online (Sandbox Code Playgroud)
我通过处理/上传的图像 URL 从服务器得到我的 OK 响应
我从这里使用jquery上传器,我想知道如何获得已添加和未上传的文件总数.
没有关于新版本的具体文档,所以有人可以说我该怎么做?
因为我需要这样" uploading 1 of n files"
这里的文档说:
$('#fileupload').bind('fileuploadadded', function (e, data) {
//Here I need to get the upload count.
});
Run Code Online (Sandbox Code Playgroud)
如果我如下所示它给我数为1
var totalfiles = data.files.length;
alert(totalfiles);
Run Code Online (Sandbox Code Playgroud) 我一直在写一个文件上传器,我想验证类型和大小,我目前有这个:
<?php
//SETTING UP LOCAL VARIABLES
$username = trim($_POST['username']);
$password = trim($_POST['password']);
$name = trim($_POST['name']);
$email = trim($_POST['email']);
$message = trim($_POST['message']);
//STRIPPED OUT ALL NON ASCII CHARACTERS
$username = preg_replace('/[^(\x20-\x7F)]*/','', $username);
$password = preg_replace('/[^(\x20-\x7F)]*/','', $password);
$name = preg_replace('/[^(\x20-\x7F)]*/','', $name);
//$email = preg_replace('/[^(\x20-\x7F)]*/','', $email);
//SETTING UPLOAD DIR
$upload_dir = $_SERVER['DOCUMENT_ROOT'] . "/beta_images/";
//CREATING A RANDOM HASH TO PROTECT FROM DUPLICATE FILES
$random = rand(1, 100);
$user_hash = $random . $name;
$hash = sha1($user_hash);
$hash = substr($hash, 32, $random);
foreach ($_FILES['file']['error'] as …Run Code Online (Sandbox Code Playgroud) uploader ×13
file ×3
javascript ×3
wordpress ×3
carrierwave ×2
media ×2
php ×2
android ×1
apache-flex ×1
axios ×1
count ×1
denied ×1
factory-bot ×1
file-sharing ×1
file-upload ×1
flash ×1
if-statement ×1
iframe ×1
image ×1
jquery ×1
json ×1
picasa ×1
plugins ×1
rspec ×1
upload ×1
vue.js ×1